In a dutch oven, add the butter and oil.
When the oil is heated, add in the cumin, coriander seeds, cardamom, dried red chili. Add in the onions and ginger garlic paste after a minute and saute well.
When the onions are translucent, add in the masalas - red chili powder, turmeric, salt, coriander powder, garam masala and cook well.
The oil will start separating from the masalas in 3-5 mins, add in the tomatoes and cashews now.
Cook the mixture for another 10 mins, if it seems to dry, add in a few tsp of water.
Add in 1/2 cup of water and mix well, let it come to a boil. Turn the heat off.
When the mixture has cooled down, place it into a blender and blend away until a smooth gravy is formed. Add in water as required. If you have an immersion blender this is a good place to use it.
In a bowl, pour the gravy through a sieve so a really smooth gravy is left, you may blend the leftover with a few tsp of water and pour thorugh sieve again.
In the same dutch oven, add in the butter, degi mirch powder. Let it heat through.
Add in the gravy slowly, it may splatter. Mix well.
Add in the chicken pieces to the gravy and cover and cook for 10 mins.
Slowly add in the heavy cream, crushed kasuri methi leaves, and cilantro leaves.
Cook it for another 5-8 mins and place in a serving bowl. Garnish with some cream, coriander leaves, and butter!
Serve with Romali Roti or Basmati Rice and enjoy!