Add cumin seeds and fenugreek seeds, simmer for 30 seconds.
Add onion and cook until translucent (about 5 minutes).
Add tomato, ginger paste, garlic, and chili if using. Mix well into the onions.
Stir in dry spices and cook for another minute.
Add cauliflower and potatoes. Mix into the gravy so evenly coated with spices. Cook for about 2 minutes.
Cover and cook for 15-20 minutes. Stir occasionally (about every 5 minutes) to prevent things from burning to the bottom. Check the tenderness of the potatoes. When they are easily pierced with a fork, they are done.
Ensure all liquid has evaporated from the bottom of the pan.
Top with cilantro, and serve alongside roti, rice, or naan.