Fried Sweets

Gulab Jamun with Milk Powder (No Khoya Needed)

A reliable milk-powder version of gulab jamun for kitchens abroad, with fixes for hard centres and jamuns that fall apart in the syrup.

Make gulab jamun without khoya by using full-fat milk powder for the dough, bound with a little flour and baking soda, then frying the balls slowly at a low-medium 300–320°F (150–160°C) so the centres cook through before the outside browns, and soaking them in warm (not hot), lightly sticky cardamom syrup for a few hours. Two things decide success: keep the oil low so you don't get hard, chalky centres, and don't overhydrate the dough or the jamuns dissolve in the syrup.

Dark gulab jamun sitting in syrup in a speckled ceramic bowl on a wooden board
Prep
25 min
Cook
40 min
Total
1 hr 5 min
Makes
20 pieces

Vegetarian Contains wheat (maida) and dairy. Milk solids are the structure of a jamun, so this one cannot be made vegan by substitution — kaju katli or khajur barfi are the sweets to make instead.

Most gulab jamun trouble abroad starts with one wrong assumption: that khoya is optional, or easy to fake. Khoya is milk reduced down to a solid, and outside a specialty Indian grocer with a freezer section you will not find it. Reaching for ordinary whole milk powder without allowing for its lower fat is how people end up with jamuns that are bullet-hard inside, or that dissolve into the syrup.

This recipe is built around full-fat milk powder specifically. Just enough flour and baking soda to hold the structure, no more, and a frying temperature lower than most people expect. That same move — a concentrated dairy product standing in for a slow reduction — is what makes evaporated-milk gajar ka halwa work.

The syrup is the other half of the job. It wants to be warm rather than boiling when the jamuns go in, and only lightly sticky rather than thick. Thick syrup sits on the surface instead of soaking through. If you want to learn to read sugar syrup stages properly, kaju katli is the recipe that depends on it. The same fry-then-soak logic, at a much smaller scale, is what holds motichoor ladoo together: tiny fried besan pearls that drink in warm syrup before they are pressed into balls.

Where it goes wrong

  • Hard, chalky centres. The oil ran too hot, so the outside browned and sealed before the middle cooked. Drop the heat and accept six to eight minutes a batch.
  • Jamuns that disintegrate in the syrup. The dough was overhydrated. It should feel like soft roti dough and hold a ball without slumping, never like batter.
  • Split or cracked balls. The dough was too dry, or still had lumps of unmixed milk powder in it. Rub the ghee through thoroughly before any liquid goes in, and roll each ball until the surface is completely smooth.

Ingredients

Tap an ingredient to cross it off as you go.

Instructions

  1. Make the syrup first so it's warm and ready when the jamuns come out of the oil. Combine sugar and water in a saucepan, bring to a boil, then simmer 5-6 minutes until it's slightly sticky between two fingers but not thread-stage — this isn't rock candy syrup, just a one-string-shy consistency. Stir in crushed cardamom and set aside; add rose water once it's cooled to warm, not hot, or the fragrance cooks off.
  2. Whisk milk powder, flour, and baking soda together in a bowl — make sure there are no lumps of milk powder, since those turn into gritty hard bits inside the finished jamun. Add melted ghee and rub it in with your fingers until the mixture looks like slightly damp breadcrumbs.
  3. Add warm milk a tablespoon at a time, kneading gently. Stop the moment the dough just holds together when pressed — it should feel like soft chapati dough, slightly tacky but not wet enough to stick heavily to your palm. Over-wetting here is the number one cause of jamuns that disintegrate in the syrup.
  4. Rest the dough 5 minutes, covered, so the milk powder hydrates fully. Grease your palms with a little ghee and roll into smooth balls the size of a small walnut (about 15g each) — smooth with zero cracks, since any crack opens up and lets syrup seep in unevenly, giving you a raw, doughy centre.
  5. Heat oil or ghee to a true low-medium — around 300-320°F (150-160°C). Test with a small pinch of dough: it should sink, then rise slowly after 15-20 seconds without sizzling violently. If it browns in under a minute, your oil is too hot and the outside will colour before the inside cooks through, leaving a hard, chalky core.
  6. Fry in small batches, stirring the oil gently and constantly with a slotted spoon so the balls roll and colour evenly on all sides. This should take 6-8 minutes per batch — rushed frying at high heat is the second big cause of hard centres, so be patient and keep the heat steady and low.
  7. Fry until deep golden-brown, close to mahogany, not just tan — they darken slightly more once out of the oil, but underfried jamuns stay pale and taste raw in the middle. Lift out and drain briefly on a plate, not paper towel, which can pull moisture unevenly and toughen the skin.
  8. Slide the warm jamuns into the warm syrup (both should be roughly the same temperature — hot jamuns into cold syrup crack the skin, cold jamuns into hot syrup stay dense). Let them soak at least 1-2 hours, ideally 4, until they've plumped up and feel soft and spongy when pressed.

Ingredient guides: Khoya (Mawa)Milk Powder (Whole vs Skimmed)

Ingredient swaps for cooks abroad

  • No khoya, no problem — this recipe exists because milk powder replaces it reliably; just don't use low-fat or instant milk powder, which lacks the fat needed for softness and can taste chalky.
  • No fresh paneer/chhena on hand for a firmer bite — swap 2-3 tbsp of the flour for fine semolina (suji) soaked 5 minutes in the milk before mixing in, which gives a slightly grainier, more traditional Bengali-adjacent texture.
  • No rose water or kewra water available — a few extra crushed cardamom pods and a small pinch of saffron in the syrup gives a warm, fragrant result without needing either.
  • No ghee for frying — a neutral oil like sunflower or vegetable works fine for frying; just add 1 tbsp melted ghee to the dough itself so you don't lose that characteristic richness.

Frequently asked questions

What oil temperature should I actually aim for?
300-320°F, or 150-160°C, which is lower than most people expect and well below normal deep-frying heat. Without a thermometer, drop in a pinch of dough: it should sink, then rise slowly after 15-20 seconds without sizzling hard. Browning in under a minute means the oil is too hot.
Why are my jamuns dense and rubbery?
Dense, rubbery gulab jamun usually mean too much flour relative to milk powder, or dough that was kneaded too long. Knead only until it comes together, and resist adding extra flour to make rolling easier — that flour is what turns the texture tight.
Can I fry these the day before?
Yes, and they are often better for it. Fry and soak them the night before, then keep them covered at room temperature if you are serving within a day, or refrigerated beyond that. Warm them gently before serving so the syrup loosens again.
Is a thermometer worth buying for this?
Not for this recipe. The pinch-of-dough test is reliable once you have done it twice, and a cheap probe thermometer reads the oil slowly enough to be misleading. If you already own one, use it; if you do not, this is not the recipe that justifies the purchase.