In a heavy bottomed pan, heat the oil and add the onions. Let them cook on a gentle heat until lightly browned, soft and sticky.
Add the green chillies, garlic, ginger and fresh turmeric. Cook for around 1 minute.
Add the chopped tomatoes, stir in and let cook with the lid on for around ten minutes, at which point they should have broken down.
Add the ground spices and Kashmiri chilli powder. let cook for around 1 minute, stirring so they don't catch and burn.
Add 300ml of water or bone broth and let cook gently for about twenty minutes.
Take the pan off the heat and blend the sauce smooth with a hand blender, being careful not to splash yourself. You can tip the sauce into a blender but let it cool slightly first so the lid doesn't blow off.
once the sauce is blended, heat back up to a simmer and add the chicken. Bring up to a simmer again and put a lid on the pan. Let cook gently for at least 40 minutes. By this point the chicken will be cooked. An extra 10 to 20 minutes will mean the meat is practically falling off the bone. It's your choice as to how well you want the chicken cooked.
Take the lid off the pan and add the whipped yoghurt and cream.
Bring back to the simmer before tasting for seasoning, add more salt if required plus the Kasuri methi, coriander and garam masala