Mix together all the ingredients for the meatballs.
Wet your hands and make small lime-sized balls out of them. Put them on a baking sheet, cover with a plastic wrap and let it sit in the refrigerator for at least ½ hour and, at most, 1 day.
Preheat the oven to 400 degrees F. Bake the meatballs for 20 minutes. You can also deep fry them like traditionally koftas are made or can boil them directly with the sauce until they are cooked through. Now I don’t deep fry because you know, my waist doesn’t let me do that and sometimes boiling in the sauce can break the balls if they are not bind properly, so I bake.
For The Sauce:
Heat oil and ghee in a thick bottom pan.
Add onion, ginger and garlic paste and cook them until all the liquid in the paste evaporates. The whole beauty of curry is in this stage, how well you fry your onion paste. So cook it slowly on a medium heat, stirring frequently.
Once the paste turns golden brown add cumin powder, salt, turmeric, cayenne pepper and coriander powder. When you add the dry ingredients it starts to burn quickly so stir it all together to mix well and add tomato puree.
Cook the puree until the sauce begins to thicken.
Then add cashew paste and cream, and cook some more. You will see oil on the edges then add garam masala and kasuri methi.
Mix it together and throw in all the meatballs (also the drippings in the baking dish).
Turn the heat to low, cover the pan with a lid and let it cook for a nice 6-8 minutes.
I usually let my curry rest for 15-20 minutes after its done and before serving. My dad says it helps all the spices marry together and the dish tastes better. Serve with hot naan/roti or rice.