To make the syrup, heat the cardamom, sugar and 500ml water in pan, not letting the water boil before the sugar has dissolved. Simmer for 10 mins, then leave to cool.
Add the rosewater, saffron and some of its soaking water, gradually adding to give a subtle flavour. Set aside in the pan.
To make the gulab jamun, grind the cardamom and sugar with a pestle and mortar.
Sieve the milk powder, flour and baking powder into a mixing bowl and stir in the ground cardamom. Rub in the homemade ghee or butter using your fingertips until the mixture resembles coarse crumbs.
Add the yogurt, lemon juice and enough milk to form a soft dough – take care not to overwork the mixture.
Oil your hands with a little sunflower oil and shape small portions of the dough into balls the size of a small walnut, about 3cm in diameter and 20g each. You should have 16 balls. Take care that the dumplings are smooth and have no cracks or folds.
Reheat the syrup. Once it comes to a boil, turn off the heat and cover with a lid.
Heat the ghee in a wok or karahi to 130C. When a small piece of dough dropped into the oil turns golden in about 40 seconds, fry the balls in batches over a medium heat, moving them around until they are an even, deep brown, about 5-7 mins. Remove from the pan using a slotted spoon, then drain on kitchen paper. Add to the warm syrup, leaving them to soak for 2-3 hrs or preferably overnight.
When ready to eat, warm the gulab jamun through in a wide pan, spooning over the syrup. Serve piping hot.