In a pressure cooker, add tomatoes, onions, garlic, green chillies, red chillies, cashewnuts, khus khus, bay leaf, cinnamon, cloves, cardamom and half a cup of water. After 2 whistles, switch off the flame and set aside to cool.
Once cooled, fish out the whole spices (bay leaf, cinnamon, cloves and cardamom) and puree the rest in a blender till smooth.
Add oil and butter to a pan. Once hot add the pureed mixture and tomato ketchup and simmer for 20 minutes. Add salt and garam masala.
In another pan, dry roast the kasuri methi and then grind to a fine powder. Add to the gravy and cook for five more minutes.
Just before serving, add the beaten yogurt and paneer. Serve with chapatis or rice and a side of onions.
Garam Masalas can vary slightly in taste and strength. Please adjust quantity as required.
In case you don't have a pressure cooker; in the first step, start by sauteing everything except tomatoes in a non stick pan with a teaspoon of oil for fifteen minutes. Add tomatoes and cook for another ten minutes. After which, follow instructions from step 2.