Boil the corn pieces in a big cooker with salt, haldi and enough water to submerge all the pieces. Let it whistle 4-5 times, cook on sim for 10 minutes, turn off the gas. Once cooled, remove corn. Don't discard water. Use it to make gravy.
Heat oil and ghee, add jeera, whole spices, saute for a minute and slowly slide in onion paste. Saute on high flame, stirring constantly.
After about 5-7 minutes, it will turn golden and start leaving the sides.
Add ginger garlic paste, saute for a couple of minutes. Add tomato paste, saute for 3-4 minutes. Add haldi, dhania powder and chilly powder. Saute. Keep adding 2-3 tbsp water from the boiled corn every 3-4 minutes.
When all the raw smell goes away, add cream and cook for a further 3-4 minutes. By now, oil will have come up. That's the sign that the gravy is properly cooked. Add salt.
Put all the corn pieces in the masala. Mix well so that all the pieces get coated with the masala. Cook corn and masala for a few minutes. Add the reserved water. Taste and adjust seasoning.
The gravy will thicken considerably as the masala mixes with the water, and the corn starch releases during the cooking process. So add water as per the consistency you want.
Mix everything well, close the cooker and cook for 3-4 pressures. Let the cooker cool. Open, transfer carefully to a serving bowl. Garnish with chopped dhania and mint.
Serve hot with fulkas or steamed rice.