In a bowl, mix the plain yogurt, 1 tablespoon of garam masala, cumin, coriander, turmeric, cayenne pepper, salt, and the chicken pieces. Marinate for at least 1 hour (or overnight in the fridge for better flavor).
Heat olive oil in a large skillet over medium heat. Add the chopped onion, cooking until golden brown (about 7-8 minutes).
Stir in the minced garlic and grated ginger, and sauté for another 2 minutes until fragrant.
Add the marinated chicken to the skillet and cook until browned on all sides (approximately 5-6 minutes).
Pour in the pureed tomatoes, and the remaining garam masala. Cook for about 5 minutes, allowing the flavors to combine.
Lower the heat, then stir in the coconut milk. Simmer for 10 minutes, or until the chicken is cooked through and the sauce is rich and creamy. Adjust salt and pepper to taste.
Garnish with freshly chopped cilantro before serving.
Notes
Serve with warm naan bread or basmati rice for an authentic touch.