Marinate the Chicken
First, ensure your chicken pieces are patted dry.
In a bowl, mix the chicken with lemon juice, chili powder, and salt.
Let it rest for 20 minutes.
This initial step, also used by many restaurant chefs, seasons the meat beautifully from the inside out.
Next, add the ginger garlic paste, yogurt, kasuri methi, oil, and the remaining spices (turmeric, garam masala, cumin, coriander).
Mix everything really well, ensuring each piece is coated, covered, and refrigerated.
For the most tender and juicy chicken, let it marinate for at least 12 hours, ideally up to 48 hours.
Marination is absolutely key to flavorful chicken!
Prepare the Sauce Base
If you’re using onions, sauté the sliced onions in 1 tablespoon of oil in a pan until lightly golden (this usually takes about 7-8 minutes, but cooking times can vary based on your stove).
Let them cool slightly.
In a blender, combine the sautéed onions (if using), fresh tomatoes (or your chosen canned equivalent), the cashews, and ½ cup water.
Blend until you have a very smooth puree.
If your blender isn’t super powerful, a tip is to soak the cashews in hot water for 20-30 minutes beforehand and blend them separately into a smooth paste before adding to the tomatoes.
Start Cooking the Sauce
In a separate large pan or pot, melt 2 tablespoons of butter or ghee over medium heat.
Add the optional whole spices (cinnamon, cardamoms, cloves) and let them sizzle gently for about 30 seconds to release their aroma.
Add the ginger garlic paste and green chilies (if using) and fry for 1 to 2 minutes until fragrant, being careful not to burn them.
Turn off the heat before stirring in the red chili powder, half of the garam masala, cumin, and coriander powder to prevent the spices from burning.
Simmer the Sauce
Carefully pour the tomato-cashew puree into the pan.
If your puree isn’t perfectly smooth, you can strain it directly into the pan using a fine-mesh sieve for a silkier texture.
Mix well and bring the sauce to a boil over medium-high heat.
Be careful as it can splatter!
Reduce the heat to medium, partially cover, and let it boil gently for 12 to 15 minutes, stirring often, until it thickens and the raw smell of tomatoes disappears.
If you blended cashews separately, stir that smooth cream/puree into the sauce now.
Pour in 1 1⁄2 cups of hot water (reduce to about 1 cup if you are not using cashews) and simmer, partially covered, for another 10 minutes until the sauce thickens to your desired consistency and you start to see traces of butter or fats appearing on the surface.
You can remove and discard the whole spices at this stage if you like.
Cook the Chicken
While the sauce simmers, cook your marinated chicken.
Make sure the chicken isn’t straight from the fridge – let it sit at room temperature for about 15-20 minutes before cooking.
In a separate pan or griddle, add 1 tablespoon of oil, butter, or ghee over medium heat.
Place the marinated chicken pieces in the hot pan, spaced apart so they don’t steam.
Fry on medium heat for about 2 minutes per side, until they are lightly browned and just cooked through.
You don’t need to cook them completely at this stage, as they will finish cooking in the sauce.
Cook in batches if needed to avoid overcrowding the pan.
Combine and Finish
Add the cooked chicken pieces directly to the simmering butter chicken gravy.
If the sauce seems too thick, add about ½ cup more hot water; this extra water is something I often do to get the perfect consistency!
Cover the pan and simmer for about 5 to 7 minutes to allow the chicken to become incredibly tender and juicy, and for all the wonderful flavors to meld beautifully together.
Stir in the salt (starting with ½ tsp and adding more to taste), the teaspoon of sugar, and the remaining ½ tablespoon of kasuri methi.
Taste and adjust seasoning – this is your chance to make it perfect!
You might want a bit more garam masala for warmth or a touch more butter for extra richness if you like.
Finally, stir in ¼ to ⅓ cup of heavy cream (or about ½ to ⅔ cup total if you skipped the cashews).