-
To make the syrup: In a medium pot, combine the water, sugar, cinnamon stick, cardamom seeds, and saffron. Cook on low heat, whisking to dissolve the sugar, until all the sugar has melted. Increase the heat to medium high, bring the mixture to a boil, and boil for 5 minutes without stirring; the mixture will thicken to a more viscous, syrupy consistency.
-
Remove from the heat and whisk in the lime juice and rose water. Cover the pot and keep it on the stove to stay warm while you make the gulab jamun.
-
To make the gulab jamun: In a small bowl, whisk the milk powder, flour, baking powder, cardamom, and salt. Add the ghee, then use your fingers to rub it into the dry ingredients until it’s dispersed into fine crumbs and the mixture looks like damp sand, about 1 minute.
-
Add the yogurt and 3 tablespoons (42g) of the milk; use your fingers to mix very gently using a stirring motion until a sticky, malleable dough forms; it will be slightly wetter than Play Doh. Add milk by the teaspoon as needed in order to achieve the correct consistency. As you mix, take care not to overwork the dough. If the dough is too sticky to work with, cover the bowl and set the dough aside for 5 to 10 minutes to rest.
-
Working with gloved and greased hands, break off about 1 teaspoon (roughly 10g) of dough, and gently roll it into a ball between your palms. (Wearing gloves ensures the dough balls are very smooth, without any cracks. You can also use bare hands that are liberally greased with ghee.) Place the shaped dough on a plate or parchment-lined baking sheet and repeat until all is used, greasing your hands as needed to prevent sticking. Cover the dough balls.
-
To fry the gulab jamun: Pour the oil in a large, heavy-bottomed pot; it should reach 1 1/2" up the sides of the pot. Heat over medium-low until it reaches 300°F. (Use a digital or candy thermometer to measure the temperature; precise oil temperature is important to producing gulab jamun that are soft and tender but cooked throughout.) Line a plate or baking sheet with a wire rack or paper towels and place near your stove.
-
Carefully drop the dough balls into the hot oil (if necessary, fry in two batches to avoid overcrowding). As soon as you add the gulab jamun to the oil, return the syrup to low heat.
-
Fry the gulab jamun until golden brown, 6 to 8 minutes. The gulab jamun should naturally pop up from the bottom of the pot on their own, but if they stick, release them gently with a spoon or spatula. They will float and flip so that they brown all over, but if you notice any pale spots, you can use a spoon to keep them submerged. As you fry, be sure to maintain a temperature as close to 300°F as possible, moving the pot away from the burner as needed (a slightly lower temperature is preferrable to a temperature above 305°F, which will cause the gulab jamun to become too firm).
-
Use a slotted spoon to remove the gulab jamun from the oil and onto the paper towel-lined plate. Let drain briefly, 1 to 2 minutes, then transfer to the hot syrup. Gently stir so that the gulab jamun are coated in syrup (they will not be submerged), then cover the pan. If necessary, fry any remaining gulab jamun.
-
Set aside the covered gulab jamun to soak at room temperature for at least 3 hours and preferably overnight. They will become soft and saturated in syrup. Serve warm or at room temperature with extra syrup spooned over the top.
-
Storage information: Store leftover gulab jamun in a container with the syrup in the refrigerator for up to 1 week. Serve cold or re-warm in the microwave for 10 to 15 seconds, if desired.