Marinate the Chicken: In a large bowl, combine 1 cup plain yogurt, 1 tbsp ginger-garlic paste, 1 tsp turmeric powder, 1 tsp cumin powder, 1 tsp red chili powder, and 1/2 tsp salt. Add the 1 kg (2 lbs) chicken pieces, ensuring they are well-coated. Cover and marinate for at least 30 minutes, or for enhanced flavor, try marinating overnight.
Prepare the Curry Base: Heat 3 tbsp cooking oil in a large pan over medium heat. Once hot, add 1 tsp cumin seeds, 1 bay leaf, 1 cinnamon stick, and 3-4 cardamom pods. Sauté for about 1 minute until fragrant. Add 1 large onion, finely chopped, and cook until golden brown, approximately 5-7 minutes. Stir in another 1 tbsp ginger-garlic paste and cook for an additional 1-2 minutes till aromatic.
Cook the Sauce: Next, add the 2 medium tomatoes, finely chopped, and 1/4 cup tomato paste to the pan. Cook until the tomatoes have softened and released their juices, about 8-10 minutes. Then, stir in 1 tsp turmeric powder, 1/2 tsp red chili powder, 1 tsp coriander powder, and 1 tsp garam masala. Pour in 1 cup chicken stock or water, bringing the mixture to a simmer. Let it cook for 10 minutes to blend the flavors.
Add the Chicken: Add the marinated chicken to the sauce, stirring to coat it evenly. Cover the pan and cook for 20-25 minutes, stirring occasionally, until the chicken is cooked through. If you are adding coconut milk or cream, incorporate it in the last 5 minutes of cooking for a creamy taste.
Final Touches: Taste the curry and adjust seasoning as needed, adding more salt or spices to suit your preference. Once cooked, turn off the heat and garnish with fresh cilantro, sliced chili, and lemon wedges. Serve hot alongside steaming basmati rice or warm naan bread.