Take 2 cups of besan in a mixing bowl. Add in turmeric powder, ajwain, kashmiri red chili powder, coriander powder, black pepper, kasuri methi and salt to taste.
Add 2 tbsp oil and mix well. Rub this mixture well with your palms for about 2 minutes so that everything comes together well.
Now start adding water slowly, mixing well and make a smooth dough. You will need just about less than half a cup of water. Cover the dough and keep aside.
Separately, put water to boil in a pan, about 5 cups.
Divide the dough into 6 equal parts, and roll out each part into a smooth cylindrical shape.
Place these into the boiling water; cut each into two if they do not fit into the pan.
Once they're cooked, the gatte pieces will develop bubbles and start floating on top. At this stage, take them out and let cool on a plate. Reserve around a cup of the gatte water. Cut the cylinder logs into equal, smaller pieces later and keep aside.
In the meantime, take 1.5 cups of plain thick, white curd (at room temperature), coriander powder, 1/4 tsp kashmiri red chili powder and salt in a bowl and whisk everything very well.
Heat 2 tbsp mustard oil (preferably) in a deep bottomed pan. Lower the flame when the oil becomes smoking hot and add 1/2 tsp ajwain, 1/2 tsp turmeric powder and 1/4 tsp kashmiri Red chili powder. Be careful to not burn.
Add the spiced curd and keep stirring at the same time. Continue this process on low flame for about 7-9 minutes so that the yogurt cook well and doesnt break/ burn. Mix in the reserved water and let this come to a boil.
Cover and cook on low-medium flame for about 5-7 minutes or till the mixture thickens slightly.
Now gently add in the gatte pieces and let them simmer in the gravy. Cover and cook on low-medium flame for about 5-7 minutes or till the mixture thickens slightly. Check for seasoning.
Once cooked, garnish with chopped coriander leaves and a tbsp of ghee (optional) before serving hot with either rotis/ rice.