Use a food processor to finely chop the onions.
Heat up a dutch enameled castiron on medium heat. Once hot, add all the dry spices - black cardamom, green cardamom, cloves, cinnamon stick, peppercorns, bay leaf, fennel seeds, and cumin seeds. Saute for about 1 minute.
Then add the onions and cook for 10 minutes on low-medium heat.
This is what you should have.
Add ¼ cup water and cook down the onions even more.
Use a food processor to chop the ginger, garlic and green chilies.
Add the ginger, garlic and green chilies to the onions and cook for a minute.
Chop the tomatoes.
Add to the onion mix. Season with salt.
Cover and cook the masala mixture for 10 minutes on low-medium heat.
Once done, add ¼ cup of water to cook down the tomatoes.
Temper the yogurt, add a little bit at a time to avoid the mixture to curdle.
Cover and cook for 5 minutes on low-medium heat.
This is what you should have.
Set aside your powdered spices.
Add the chicken to the masala. Coat the chicken well and cook for 5 minutes on medium heat.
Add the powdered spices (red chili powder, turmeric powder, cumin powder, coriander powder) to the chicken and coat well.
Add a cup of water to the chicken. You can add another cup for more gravy - however I prefer thicker gravy.
This is what you should have.
Cover and cook the chicken on low-medium heat for 20-25 minutes.
This is what you should have.
Add garam masala.
Add dry fenugreek leaves or kasoori methi.
Let the chicken sit for about 20 minutes before serving, this is what you should have. You can always add more water to have more gravy.