In a blender or bullet cup, grind the curry base ingredients. You may need to chop the tomatoes and onion into smaller pieces and add 3-4 tbsp water to blend to a smooth paste.
In a skillet, heat a few tbsp mild oil like sunflower and add the whole spices: cumin, cardamom, cinnamon stick, cloves.
Once cumin seeds begin to dance, add the curry base. Reduce the flame to medium and allow this base to reduce so that you can no longer smell the onions (about 10 minutes).
Keep stirring occasionally and add water as necessary so that the curry base does not burn.
Add 1/2 tsp turmeric powder and 1/2 -1 tsp red chili powder depending on your spice tolerance. Add 1 tsp salt and mix well.
Once the curry base appears darker in color and you can no longer smell the raw onions, add the cauliflower florets. Add 1 more tsp salt.
Add 1 cup of water, cover and cook until the cauliflower is soft, stirring occasionally (about 10 minutes).
Right before the cauliflower is fully cooked, add in the frozen peas. If you add them too late, they lose their bright green color. Sprinkle in some kasuri methi if you have it. Cover and allow to steam for 1-2 minutes.
Adjust salt to taste and garnish with cilantro.
Serve with rice or roti!
Notes
I prefer my sabzi slightly drier, but feel free to add more water if you would like more of a gravy. Just make sure to adjust salt and seasoning if you do so.