First prepare the sugar syrup. Add the sugar and water, along with the cardamom and saffron in a saucepan and bring it to boil, swirling in between just for the sugar to mix and melt.
Boil for around 10 minutes on low flame till the syrup appears thickened. Add the rosewater and switch off. Keep the syrup warm.
Sift the dry ingredients for the gulab jamun into a bowl. Add the ghee. Add 2 tbsp of milk and slowly bring the dough together. Work softly with your hands to bring the dough together. Add an additional tbsp of milk if necessary, but usually it won't be required.
Once the dough comes together, give it a light knead. Do not press hard, work softly. Only knead till the dough looks smooth.
Divide into small dumplings, around 10-15. Keep it small so that it cooks well inside as well. The rounds must be smooth with no lines or cracks.
Meanwhile, heat oil. Let it get really hot. To test, drop a little of the dough, if it rises, then it is hot.
Drop the dumplings - do not crowd the pan - and fry till golden brown. Lower the heat and cook for another couple of minutes. This will ensure that the inside is done.
Drain onto a kitchen towel for a couple of minutes and then dunk into the warm syrup.
Repeat till all the dumplings are done.
Let the gulab jamuns soak in the syrup for at least two hours, or even more if possible.
Serve as is, or with a dollop of ice cream if desired!