This step is optional. Boil onions in 2 cups of water for 3 mins. Drain the water.
Add the onions to a grinder/blender jar with tomatoes, ginger, garlic and cashews. Make a smooth puree without adding water. Keep aside.
Heat a pan with oil and add all the whole spices.
When they begin to sizzle, add the onion tomato puree and saute on a medium heat until the raw smell goes off. This step takes about 8 to 10 minutes.
While you saute the onion tomato masala, clean and cut cauliflower florets. If you find worms in the florets, simply add them to slightly hot water and rest for 5 mins. Drain and rinse with cold water.
Stir in chili powder, salt, garam masala and coriander powder. Saute until it begins to smell good and aromatic, for 2 to 3 mins.
Add drained cauliflower and saute for 3 to 5 mins.
Pour hot water and mix. Cover and cook on a medium flame until the gobi is cooked al dente. If the gravy is too thick add more hot water as required.
Taste test and add more salt, sugar and garam masala if you want. Stir in the kasuri methi.
Garnish gobi masala with chopped coriander leaves. Serve with plain rice, jeera rice, roti, paratha.