01 - Heat oil or ghee in a large heavy-bottomed pan over medium heat. Add bay leaves, cloves, cardamom pods, and cinnamon stick. Sauté for 1 minute until fragrant.
02 - Add onions and cook, stirring often, until golden brown, about 8 minutes.
03 - Stir in garlic and ginger; cook for 1 minute until fragrant.
04 - Add chopped tomatoes and green chilies. Cook until tomatoes break down and the mixture thickens, about 4 minutes.
05 - Add cumin, coriander, turmeric, chili powder, salt, and black pepper. Stir well and cook for 2 minutes to toast the spices.
06 - Mix in the chicken pieces, coating them well with the masala. Cook until the chicken is lightly browned on all sides, about 5 minutes.
07 - Add yogurt gradually, stirring continuously to prevent curdling and ensure a smooth sauce.
08 - Pour in water or chicken broth, bring to a gentle simmer, cover, and cook for 20–25 minutes until the chicken is cooked through and tender.
09 - Stir in garam masala and lemon juice. Simmer uncovered for 3–5 minutes to thicken the sauce to your desired consistency.
10 - Remove whole spices before serving. Garnish with fresh cilantro and serve with steamed basmati rice or naan.