Grind coconut, half the onions, green chillies, ginger and garlic to a smooth paste. You can also roast these ingredients first and then grind for more aromatic flavor.
To make tomato puree
Make a smooth puree of tomatoes and ketchup. Keep it aside.
To cook the veggies
Parboil cauliflower florets and potatoes in turmeric + salt water for 10 minutes on medium flame. Strain.
Heat oil in a pan and shallow fry the cauliflower florets and potatoes till they turn golden brown. Transfer to a plate.
To make the curry
Heat oil in a pan, temper the cumin and mustard seeds. Once they crackle, add part of the chopped cilantro, bay leaf, cinnamon and star anise. Fry them for a minute. Then add sliced onions and saute till they turn translucent.
Now add the onion paste. Fry if for 2 minutes.
Next add the tomato puree and salt. Mix and continue to fry the masala for another 2 minutes.
Add green peas, spices like coriander cumin powder, turmeric powder, chilly powder, Kashmiri chilly powder, sugar, and saute for a minute.
Then add the cauliflower and potatoes to the pan. Mix them with the masala and cook them till turn soft. Add desired amount of water to give this dish a gravy consistency. Cover with lid and cook it till the gravy is cooked.
Garnish with crushed Kasoori methi, remaining cilantro and garam masala and take it off the flame.
Notes
The consistency of this Aloo Gobi Masala is as per your preference. However, the consistency is normally thin and not thick and creamy. Add carrots and bell peppers too in the gravy you want.Feel free to skip spices you don't have. Adjust the level of hotness based on your tolerance. To get that authentic taste, add goda masala instead of garam masala.Remember to not overcook the cauliflower and potatoes. They need to hold the shape and have a bite. Else it will become a mushy gravy.