Preheat your oven to 200° C
Wash and pat dry the chicken pieces with paper towels. Make diagonals slits on all pieces deep to the bone. Rub in the coriander, turmeric, cumin, salt, kasturi methi, Kashmiri red chilly, red chili powder. Add yoghurt and mustard oil rub in thoroughly into the chicken pieces. Leave the chicken this marinade for atleast 30 minutes (1 hour would be ideal).
Roughly chop the tomatoes, onions, peel the garlic cloves. Add 1 tsp Olive oil, 1 black cardamom, 1 bay leaf and 1 inch piece of cinnamon to a saucepan, add the vegetables and sautè. Add the cashews once the onions start softening add the salt, 1 tsp of coriander, half tsp of turmeric and half tsp of red chilly powder. Toss it all together. Cover and cook for 15 minutes on a medium low heat. The vegetables should completely soften and combine into a thick almost sauce like consistency. If they start sticking to the bottom add half cup of water mix and cover and cook till the veggies are completely cooked.
After marinating the chicken. Take a skewer and arrange the pieces in descending order of size in such a manner that the larger ones end up towards the back end of the oven. Rub them with the left over marinade and set into the oven to roast for 25 to 30 minutes.
Now, going back to the gravy. Take the cooked veggies turn them over into a grinder and grind them into a fine gravy. Take a large sauce pan add the butter, ginger and green chillies, add the sauce after straining it. Staining the sauce leads to a silky smooth texture later on. Add the kasturi methi, garam masala and leave it to simmer on a low heat till the chicken is finished cooking in the oven. You can adjust the consistency of the sauce with water if required.
Once the chicken is cooked, poke it with a knife if the juice from the chicken runs clear the chicken is cooked. Take it off the skewer, and add it into the sauce. Toss it so that its completely coated. Add the fresh cream, mix well and leave it to simmer for another 15 minutes.
Garnish with fresh green coriander serve warm.