To a large bowl add yogurt, besan, salt, and water. Mix well with a whisk to make it smooth. [Note: You can use an electric blender to ensure everything is mixed well & you have a smooth texture]
Heat oil in a pan on medium heat. Add cumin seeds, saunf, and methi seeds. Fry for 30-45 seconds.
Add chopped onions, ginger, garlic, minced green chilies, and cook until the onion turns translucent and ginger & garlic lose the raw smell.
Add the spice powders - red chilli powder, garam masala, coriander powder, haldi, and cook until they turn aromatic.
Lower the temperature to the lowest setting. Add the yogurt mixture and cook for 20-25 minutes. Keep stirring constantly. The mixture will turn thicker, besan will lose its raw taste and the color would turn bright golden yellow.
Increase the heat slightly. Small bubbles will appear. Turn off the heat.