Mix together water, sugar and crushed cardamoms in a pot.
Boil the syrup until it turns slightly sticky. Turn off the stove before it goes to a 1 string consistency. If it reaches a 1 string consistency, then add 2 tbsp of water and mix. Add rose water and mix. Set aside to keep it hot.
Mix together flour, milk powder and soda. Either sieve it or mix uniformly.
Add ghee to it. Mix well.
Mix together yogurt and milk in a small bowl. Add 1.5 tbsp of this to the flour mixture.
Begin to bring the flour together to make a dough. If the dough is too dry, add little more milk & curd. Do not add a lot. Use only as needed.
The dough turns sticky. Grease your fingers and make a ball.
Make 12 to 14 equal sized balls. Keep them covered.
Heat up the pan with ghee or oil on a medium heat. Also check if the syrup is hot. If it is not hot, heat it up a bit. It must be hot and not very hot.
When the ghee is just medium hot, add the balls. Make sure the oil is not very hot else the gulab jamuns will brown without cooking well.
Fry the balls on a medium flame until golden. Keep stirring gently to fry them uniformly.
Add them to the hot syrup. Allow them to rest for 3 hours and serve.
Garnish gulab jamuns with chopped badam.