In a large pan or kadhai, heat a tablespoon of butter and two tablespoons oil.
Add green chili, red chillies, ginger, garlic paste and whole spices. Saute for a minute or two and add cashew nuts, poppy seeds and tomatoes. Mix well. Cover and cook this for ten to fifteen minutes till the tomatoes start breaking down. Switch off the flame and set aside to cool.
Once cool enough to handle, fish out as many whole spices as possible, and grind the mixture to a smooth paste.
In the same pan or kadhai, heat the remaining butter and add the ground paste from step #3. Add garam masala powder, chili powder, turmeric, ketchup, salt and sugar or jaggery (if using) along with ½ cup water. Bring this to a boil.
Once the curry comes to a boil, simmer and cook for 30 minutes, till the oil separates slightly. In another pan, dry roast the kasuri methi and grind it to a fine powder. Mix kasuri methi and fresh cream in the curry and switch off the flame.
Let the curry cool completely before dividing it into smaller portions and freezing it in ziplock packs.