Gulab Jamun Recipe

For this classic dessert, fried dough balls made from milk solids and semolina are soaked in a syrup flavored with cardamom, rose water, saffron, and cloves.

Three golden brown gulab jamuns soaking in syrup in a grey bowl.

Serious Eats / Nik Sharma

Why This Recipe Works

  • Using semolina inhibits gluten formation, which leads to tender gulab jamuns.
  • Soaking semolina in milk ensures the interiors of the gulab jamuns are moist, not dry.
  • Stirring in rose water after the syrup simmers preserves its highly volatile flavor and aroma.
  • Adding acid to the syrup inhibits crystallization and keeps it flowing smoothly even when cool.
  • Allowing the gulab jamuns to cool slightly before adding them to the spiced syrup ensures the sugar in the syrup won't burn.

Gulab jamuns occupy a very popular position in the large family of Indian desserts. I suspect their popularity stems from their simple yet marvelous construction: little, fried balls of a milk-based dough that are soaked in a syrup scented with green cardamom, saffron, rose water, and other spices, served warm or at room temperature. The floral, fruity quality of the syrup is particularly important; “gulab jamun” literally translates to “rose water” and “black plum” (a type of Indian fruit).

What Is Gulab Jamun?

You could describe gulab jamun as a type of doughnut or funnel cake, and as Michael Krondl notes in The Donut: History, Recipes, and Lore from Boston to Berlin, there are a couple of theories about its origins in the Islamic world: it either came to be in ancient Persia, the Central Turkic regions, or during the Mughal Empire’s reign in India. But while there are some similarities to doughnuts—it is, after all, fried dough—I believe the ingredients used in their construction make them sufficiently different to justify being considered a category of their own.

Let’s take a closer look at what goes into gulab jamuns.

Milk Solids: Khoya vs. Dry Milk Powder

Traditionally, one of the main ingredients for gulab jamun dough is khoya (also known as khoa, or mawa), a form of dried milk that’s prepared by simmering a large and wide pot of milk slowly over several hours until all the water evaporates, leaving behind the milk solids. Khoya is sold in blocks in Indian grocery stores and it must be finely grated before it’s used to make gulab jamun dough. Paneer is also sometimes used instead of khoya, as is chenna, which is similar to paneer in that it consists of acid- and heat-coagulated milk proteins, but it isn’t pressed to express any excess liquid.

However, for this recipe, I chose to use non-fat dry milk powder instead of khoya, paneer, or chenna, because it’s much more widely available in stores. Since non-fat dry milk is largely made up of milk proteins and the milk sugar lactose, it produces a similar texture and flavor profile.

Incorporating Flour or Semolina

While gulab jamun are primarily made up of the milk proteins, no matter their source, the balls need a little assistance in order to stay together and hold their shape in the fryer, so a small amount of flour and/or semolina are incorporated into the dough. I’ve found semolina to work best, in part because of its relatively large grain size; the large particle size of semolina helps reduce gluten formation, which in turn means tender gulab jamun.

Because the semolina won’t absorb much of the liquid used to make the dough, it must be soaked in milk prior to adding it to the rest of the dough ingredients. This helps keep the interiors of the gulab jamuns moist.

Keep in mind that this is a relatively dry dough and is quite firm when it comes together, quite different from a soft wheat-based dough. Consequently, you should take care not to over-mix or knead it, as doing so will overwork the gluten and produce gulab jamuns with an unpleasantly hard texture.

Hydrating the Dough

The ingredients in the dough need some kind of liquid to hydrate the gluten and, consequently, help the mixture hold together, and I’ve found a combination of milk and heavy cream produces softer gulab jamun with pleasantly moist interiors. The fat in the milk and cream also helps with shaping, as the heat from the palms of your hands will melt the fat, smoothing out the surface of the dough as you roll it into little balls and making them easier to mold. It also helps with the final texture of the gulab jamuns, since they’re served warm; the dairy fat will be fluid at that temperature, further avoiding any possibility that the interiors will be dry and chalky.

The Best Fats for Deep Frying Gulab Jamuns

My choice of fat for a frying medium may be the most controversial of all. Ghee, a type of clarified butter, is the traditional and most popular choice of cooking fat for frying gulab jamuns. It adds an unmistakable scent of caramel and nuttiness in the dessert, because of the slowly browned milk solids that give ghee its incredible flavor. You can certainly use ghee, if you like, and if you do, I find it’s better to serve the gulab jamuns warm rather than at room temperature, due to the way ghee can solidify on their surfaces, depending on how cool the ambient temperature is.

I chose not to call for ghee in this recipe because of the large quantity you’d need, which can become expensive; I use grapeseed oil instead. Use your own judgment with respect to which neutral-flavored oil you choose; I recommend staying away from canola oil, as some people are more sensitive to picking up a fishy smell in foods that are fried in it, but that may not be applicable to you. If you want to fry the gulab jamuns in ghee, Indian grocery stores carry larger bottles of ghee at a more affordable price point than the ones sold at non-specialty grocery stores. (Note that no matter what fat you use, the cooking temperature will remain the same.)

The Soaking Syrup

Once the gulab jamuns are fried, they’re soaked in a warm spice-infused simple syrup. I combine sugar and water in a saucepan, add spices, and heat the mixture to extract the flavor molecules from the spice. My choice of spices is quite simple—saffron for its bright color and fragrance, green cardamom for its cool, sweet scent, and cloves for their warm aroma. Rose water is added at the end because it is extremely volatile and doesn’t need any heat for its aroma and flavor to be extracted, unlike the whole spices. I also add a little acid in the form of lemon juice to prevent the sugar syrup from crystallizing (1/8 teaspoon of cream of tartar can be used instead). The acid helps to “invert” some of the sugar, which interferes with crystallization and, consequently, the syrup remains a smooth liquid even at cooler temperatures.

The syrup is ready to use when it starts to form a soft, sticky, syrupy thread when a small drop of it is pressed between two fingers—be careful when you do this, as the syrup is hot; I find it a bit safer to do the same test using two small teaspoons. Another key point to keep in mind is the temperature of the fried gulab jamuns when they’re added to the syrup. They should be warm, so they easily soak up the syrup, but not piping hot, as that can cause the sugar in the syrup to burn, which will make the gulab jamuns quite dark and can lead to a bitter-tasting exterior. I recommend letting them sit for about 30 seconds on a plate to cool off just a bit before adding them to the pot of warm syrup.

Gulab jamuns must soak in the syrup for at least four hours before serving, but they are even better if you have the time to soak them overnight, which, after the initial warm soak, can be done in the refrigerator. When it comes time to serve them, warm them up in their syrup, then serve the gulab jamuns with a generous tablespoon or two of the syrup, and a sprinkling of chopped pistachios, almonds, or rose petals on top as garnish. (I prefer the texture of candied rose petal jam or gulkhand, which I find much more pleasant than the petals; it's available at most Indian grocery stores). Some people also serve gulab jamuns with a scoop of ice cream, which offers a delicious contrast of warm and cool temperatures.

November 2020

Recipe Details

Gulab Jamun Recipe

Prep 55 mins
Cook 25 mins
Active 60 mins
Soaking Time 4 hrs
Total 5 hrs 20 mins
Serves 4 to 6 servings

For this classic dessert, fried dough balls made from milk solids and semolina are soaked in a syrup flavored with cardamom, rose water, saffron, and cloves.


For the Syrup:

  • 2 cups (480ml) water

  • 14 ounces (2 cups; 400g) sugar

  • 1 tablespoon (15ml) lemon juice

  • 1 pinch (15 strands) saffron

  • 4 green cardamom pods, crushed

  • 2 whole cloves

  • 1 teaspoon (5ml) rose water

For the Jamuns:

  • 1.4 ounces (1/4 cup; 40g) fine semolina flour (see note)

  • 1/4 cup (60ml) milk

  • 5.3 ounces (2 cups; 150g) non-fat dried milk powder (see note)

  • 1 teaspoon baking powder

  • 1/2 teaspoon ground green cardamom

  • 1/8 teaspoon Diamond Crystal kosher salt; if using table salt, use half as much by volume

  • 6 tablespoons (90ml) heavy cream, divided plus more as needed

  • 3 cups (720ml) grapeseed oil, for frying (see note)

  • 3 tablespoons (25g) chopped pistachios or cashews, for garnish (optional)


  1. For the Syrup: Combine water, sugar, lemon juice, saffron, cardamom, and cloves in a medium saucepan. Bring to a boil over medium-high heat, stirring occasionally with a rubber spatula, then reduce heat to a simmer and cook until a drop of the syrup pressed between two teaspoons forms a sticky, thin thread when spoons are pulled apart, about 5 minutes. Remove from heat, stir in rose water, cover, and set aside to keep warm.

    A saucepan on a stovetop filled with ingredients for gulab jamun syrup.

    Serious Eats / Nik Sharma

  2. For the Jamuns: In a small bowl, stir together semolina and milk, and set aside for 30 minutes to allow semolina to soak. Line a rimmed baking sheet with parchment paper. In a large bowl, whisk together milk powder, baking powder, cardamom, and salt. Sift mixture twice through a fine-mesh strainer onto prepared baking sheet, using clean hands or a bowl scraper to break up any lumps or bits that might be left behind in the strainer basket.

  3. Transfer sifted mixture back to large bowl, and make a small well in the center; return sheet of parchment to baking sheet, and set aside. Add the semolina-milk mixture along with 1/4 cup (60ml) cream to center of well and, using clean hands, mix ingredients to form stiff but sticky dough. If mixture seems dry, add more cream as needed, 1 tablespoon (15ml) at a time, until dough forms. When mixing, try not to aggressively knead the dough, as the gulab jamuns will become quite dense; instead, press the ingredients gently together with your fingertips to form dough.

    Pouring cream into a bowl of semolina for gulab jamun dough

    Serious Eats / Nik Sharma

  4. To form jamuns, take 1 tablespoon of dough and roll between palms to shape into a smooth, 1-inch (2.5 cm) ball. The dough will appear sticky at first, but the heat from your palms will help soften it and make it more pliable. If any cracks appear on the surface, wet your palm with a drop or two of heavy cream to help shape and smooth out ball. Place formed jamun on the reserved parchment-lined baking sheet, and repeat forming process with remaining dough (you should end up with 18 balls).

    A hand holding a rolled bowl of gulab jamun dough, ready for deep frying.

    Serious Eats / Nik Sharma

  5. In a medium saucepan or Dutch oven, heat ghee or oil over medium-high heat to 325°F (160°C). Line a plate with paper towels. Working in two batches, carefully add half of the dough balls, one at a time, to the hot oil; using a slotted spoon, immediately move each ball as it's added to the oil to prevent them from sticking to bottom of the pot. Cook, occasionally moving balls around with a slotted spoon to ensure even cooking, until jamuns are golden brown all over, about 3 minutes. Using slotted spoon, transfer to paper towel-lined plate, and allow to rest 30 seconds. Transfer fried jamuns to saucepan of scented syrup, and cover. Repeat process with remaining dough balls.

    Using a slotted spoon to lift two dark brown gulab jamun from a pot of hot oil.

    Serious Eats / Nik Sharma

  6. Let jamuns soak in the syrup, covered, for at least 4 hours, preferably overnight. (After the initial 4-hour soak, the gulab jamuns can be transferred along with the syrup to the refrigerator.) To serve, gently reheat gulab jamuns in the syrup over low heat until warmed through. Transfer to a platter or individual serving plates, spooning syrup generously over top, and garnish with chopped pistachios or cashews, if using. Serve immediately.

    Dark brown gulab jamuns soaking in a pot of saffron-scented syrup.

    Serious Eats / Nik Sharma


This recipe was tested using Bob’s Red Mill semolina, and it was tested with both Nestle and Bob's Red Mill branded dried milk powder.

Ghee or a neutral-flavored oil can be used instead of grapeseed oil. If using ghee, be sure to serve the gulab jamuns warm to ensure the fat doesn't solidify and coat the gulab jamuns in an unpleasant way.

Make-Ahead and Storage

Once soaked in syrup, the gulab jamuns can be kept in an airtight container in the refrigerator for up to three days.

Read More

Nutrition Facts (per serving)
529 Calories
18g Fat
85g Carbs
10g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4 to 6
Amount per serving
Calories 529
% Daily Value*
Total Fat 18g 23%
Saturated Fat 5g 24%
Cholesterol 22mg 7%
Sodium 248mg 11%
Total Carbohydrate 85g 31%
Dietary Fiber 0g 1%
Total Sugars 80g
Protein 10g
Vitamin C 2mg 9%
Calcium 357mg 27%
Iron 1mg 3%
Potassium 442mg 9%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)