This post may contain affiliate links
Add Bake with Zoha as a preferred source on Google and find more of my tried-and-tested recipes.
If you’ve never had homemade gulab jamun before, this recipe is about to change your life! They’re SO much better than ready made gulab jamun, and unbelievably easy to make in just one hour start to finish. This recipe cuts down the effort significantly by using milk powder instead of traditional milk solids (“khoya”), but still delivers the perfect gulab jamun: beautifully golden brown with a caramel-y toasted milk flavor, pillowy soft and juicy right to the middle, and not too sweet! This is the family recipe I grew up with in Pakistan, and is guaranteed to blow everyone’s mind, whether you serve it for Eid, Diwali, or a post dinner sweet treat.

These were incredible, Zoha! Reminded me of Gulab Jamuns back home, except, dare I say it… these were BETTER.
– Manha, ★★★★★
My 3 secrets for the perfect gulab jamun
After making this recipe countless times, I’ve learned that there are 3 secrets that result in the perfectly soft and juicy gulab jamun every single time:
- Adding an egg to the dough. I know this isn’t typical in most gulab jamun recipes, but I’ve found that adding an egg helps with structure and binding, prevents the balls from falling apart, and prevents them from absorbing too much oil while frying. However, if you don’t consume eggs, you can replace it with milk (about 3 1/2 tbsp)
- NOT kneading the dough! Shocking, I know, but trust me on this one! The dough has a lot of fat in it from the ghee, cream and milk powder. If you over handle it, it starts to “leak” oil, crack and is harder to work with. Kneading also develops gluten which can give gulab jamun a tougher texture. The key is to use a spoon to bring the dough together, mixing just until it’s smooth and starts to pull away from the edges of the bowl. Then chill until it’s semi-firm and you’ll have perfectly pliable dough you can gently form into smooth balls
- Getting the oil temperature just right. This is probably the single most important thing! If the oil is too hot, the gulab jamun will cook on the outside before they fully puff up, resulting in hard centers. If the oil is too cold, they will take too long to cook and fall apart. I recommend keeping the oil temperature between 310-320F

Step by step photos
These gulab jamun come together in 3 simple steps (full detailed instructions are in the recipe card below):
1. Make the dough balls






2. Fry the gulab jamun


3. Soak the gulab jamun


Then you’re ready to serve and enjoy! Personally, I love serving them warm right after a hearty Pakistani meal, like my tandoori chicken star bread or spicy Karachi biryani!

A few more tips!
Here are a few more helpful tips before you make this recipe:
- Use a kitchen scale instead of measuring cups. This will yield the most accurate results
- Also use a scale to ensure all dough balls are the same weight. This will ensure they all cook evenly at the same time (and it’s so fun to see the perfect balls!)
- Refrigerate the dough if it feels too sticky to work with. Just a few minutes will make it much easier to shape without over handling
- Fry one test gulab jamun first. This is a really helpful way to check if the oil is at the right temperature, and how long you need to cook them! It should take around 3-4 minutes to take on a deep golden brown color, and should at least double in size
- Be gentle with the balls while frying and soaking. They can crack and break easily!
- Don’t overcook the syrup. You need to cook only until the sugar has dissolved and it starts to simmer

Email This Recipe
Enter your email and I’ll send this directly to you. Plus you’ll get new recipes from me every week!
Ingredients
Dough balls:
- 1 cup full fat milk powder (100g) – I recommend Nido whole milk powder
- 3 tbsp all purpose flour (30g)
- 1 1/2 tsp baking powder
- 1 large egg – or substitute 3 1/2 tbsp whole milk
- 3 tbsp heavy cream (40g)
- 2 tbsp melted ghee or unsalted butter (30g)
Frying:
- Neutral oil to fry (~2″ deep in frying pan)
Soaking syrup:
- 1 1/4 cups water (300g)
- 1 cup granulated sugar (200g)
- 2–3 cardamom pods
- Optional: saffron and rose water if desired
Instructions
Dough balls:
- Mix the milk powder, flour and baking powder in a bowl and get rid of any lumps
- Separately whisk together the melted ghee, egg and cream until smooth
- Pour the wet ingredients into the dry ingredients, and use a spoon to mix them together. Use a press and swirl motion, getting rid of any lumps, until a shaggy dough forms that starts to pull away from the edges of the bowl. This should take 60-90 seconds only. Do not over-knead or overwork the dough. It’s fine for it to be soft and sticky
- Refrigerate the dough for 10-20 min until it is semi-firm and easy to shape. During this time, you can start heating the oil for frying as instructed below
- Once chilled, divide the dough into 15 equal pieces, about 16g each. I recommend a scale to ensure all pieces are the same weight
- Lightly rub some ghee or oil onto your palms and fingers. Working one piece at a time, roll the pieces gently between your palms, applying light pressure at first to make them smooth and crack-free. Then release the pressure and rotate your palms in opposite directions, with the ball in between, to make them into perfect spheres. This should be quick, and easy; avoid over working the balls as that can cause them to crack. If the dough feels too sticky during this process, place it back in the fridge for a few minutes
- Once all balls have been shaped, you can place them into the fridge while the oil heats up
Frying:
- While the dough is chilling, you can start heating the oil in a wok or large saucepan – make sure it’s at least 2″ deep. Heat it to ~310-320F on medium-low heat. At this temperature, if you drop a small piece of dough into the oil, it should take a few seconds to rise to the surface with some bubbles around it (not immediately)
- I always recommend frying 1 test gulab jamun first. Add one ball gently into the oil, and use a steel spider to gently swirl it around continuously. It should almost double in size, develop a deep golden brown color and be fully cooked through after 3-4 minutes. If it colors too quickly or starts to burn, the oil is too hot. If it takes longer to get color or starts to fall apart, the oil might be too cold
- Now fry the rest of the gulab jamun in 2-3 batches (I do 5 at a time to avoid overcrowding the pan). Keep gently swirling them so they get an even color all over, and fry for 3-4 minutes until golden brown. Place on a paper towel to drain
Soaking in syrup:
- While you’re frying the gulab jamun, you can work on the syrup alongside. Add the sugar, water and cardamom pods for the syrup into a large saucepan. Place on the stove on low heat, and stir occasionally. Cook only until the sugar has dissolved and the syrup starts to simmer. Then turn off the heat and cover with a lid
- By the time the balls are done frying, the syrup should still be hot. If not, turn on the heat to bring it to a simmer again, and turn it off. Gently drop all the balls into the syrup, and swirl the saucepan around a few times to encourage all sides of the gulab jamun to get soaked
- Cover with a lid and rest for at least ~20 minutes, or until the gulab jamun have soaked up nearly all of the syrup and almost doubled in size. I like to gently swirl the pan once more halfway through the soaking process
- Serve and enjoy!
Video Tutorial
Notes
- Make ahead and storage: You can prepare the gulab jamun ahead of time, and keep in an airtight container at room temperature for up to 1 day, or in the fridge for up to 5 days. I recommend warming up in the microwave to serve

Comments
M
I’ve made this 3 times, almost exactly as written. They’ve been fabulous everytime..I get soo many compliments! They’re sweet but not overly disgustingly sweet like so many store-bought gulab jamun.
The only things I’ve changed are:
– I prefer smaller balls (especially if I serve the same day), I usually make 25-30 balls. Temperature etc of cooking is all the same. They’re just smaller.
– I increase the sheera/syrup- I double it because I make more balls
– I drape a cloth on the unfried balls (because they will dry out otherwise)
Sooooo good! I REALLY recommend using a food thermometer to zero in on the 310-320 deg F temperature before you fry each batch.
Two questions for Zoha:
1. My grandma would put the fried ball directly into the warm syrup – is there a reason not to do this and instead to set aside and then put in?
2. I used to make Gulab jamun with semolina/sooji. I just loooove the slight graininess that brings. I know that they might become more delicate, but do you have any suggestions for how to incorporate that? I would really appreciate it.
Thank you so much!!!!
Zoha Malik
Thank you for your kind review, M! I do them all together so they all get the same time in the syrup. If you put some balls in first, they will absorb the most syrup and there will be inconsistency. And sadly I have no experience using semolina in these!
Khoula
Hi zoha! They were amazing. But few of them were not soaked till middle. What could be the reason?
Zoha Malik
Hi Khoula! it’s usually due to the oil being too hot – the gulab jamun cooks outside before it has cooked in the middle
Zubin
I did exactly what you said but my dough is way too sticky. Can’t even shape balls with it
Zoha Malik
Hi Zubin – if that happens you can place it in the fridge and it will become firmer after 15-20 minutes.
Sayoree Ray
Hey Zoha,
I tried your recipe with milk (not egg)
But when I am frying the balls it’s all scattered.
I don’t know where I went wrong.
I even kept them inside the fridge
Zoha Malik
Hi Sayoree! What was the temperature of the oil? I know people have had success with milk too, so it should work (but it is trickier when you don’t use egg as egg gives structure). I wonder if the oil wasn’t hot enough, or the dough balls had too many cracks in them.
Sammy
Can you make these gluten free with substituting all purpose flour with almond or gf flour?
Zoha Malik
Hi Sammy! I’ve never tried that so I can’t say for sure, but probably the closest would be 1:1 gluten free flour.
Fareen
This was an amazing recipe. I’ve always been intimidated by making Indian desserts, especially after my dad passed (he was the baker). There were about 4 or 5 things that were his specialty, gulab jamun being one of them. In 10 years, I’ve eaten them maybe twice. Your instructions always give me confidence so I thought, why not – I gave it a try. Oh. My. God. It brought me tears – being able to eat them warm and fresh like I did when I was a child, eagerly waiting for my dad to finish making them. It tasted almost just like his. Thank you for bringing me back there. This was an easy and simple recipe and damn, were they ever good.
Zoha Malik
AWWW thank you Fareen!! I could cry reading this review. I am so honored you used my recipe <3
Sophi
Just tried it!! Omg it was the best I’ve made till date!! My go-to-recipe from now!! Thank you so much Zoha for the perfect recipe!!
Zoha Malik
I could cry! Thank you!
Aisha Jusab
Thank you so much Zoha the gulab jamun turned out amazing my family loved it was easy as well. May Allah put lots of barakah in ur home Ameen
Zoha Malik
Ameen and yours too! Thank you so much
Manha
these were incredible Zoha! Reminded me of Gulab Jamuns back home except – dare I say it… these were BETTER.
Zoha Malik
This is the sweetest compliment ever, thank you :’)
Anaya
Saw these on Zoha’s instagram story and it looked so good – I made it the next day and it did not disappoint! So delicious and so easy. I am obsessed with all of her recipes. Never been disappointed with any. Thank you and keep publishing more!
Zoha Malik
AWW you made my day! Thank you!!
Fathima Shazna
Soon after frying the gulab jamun, we need to add it to the syrup.
Zoha Malik
Yes
Harbinder
WOW!
I have tried a number of gulab jamun recipes from various cooks online and found faults in all of them. Your recipe is authentic and tastes just as good if not better than gulab jamun purchased from an Indian Sweetshop.
This recipe is a keeper and will be used over and over.
Thanks for sharing x
Zoha
You made my day, thank you so much! I am glad the gulab jamun came out perfectly for you
Hafss
Hey,I’m fascinated by the look of this and I really wanna try this!
btw, I’d like you to tell me if I could replace the heavy cream with something else as it’s difficult for me to find heavy cream in my city,I’m from Sri Lanka 🇱🇰.Thanks for your amazing recipes!
Zoha Malik
Any kind of dairy cream will do!
John Wick
THIS IS THE WORS-nah I’m just kidding this is a great recipe.
Can I substitute ghee for butter?
Zoha
hahahaha. Yes, butter will be ok 🙂
Nazia
Such a good recipe! Taste amazing and easy to follow instructions that made it so simple to make. Thank you.
Zoha
My absolute pleasure!
Fatimah Siddiqui
Ahlan,
Born in Pakistan out of an Iraqi mother and a Yemeni father (go figure), but now living in Europe, I have a soft spot for this land and all that comes from it. It is fun just to walk through your website and merely read the recipes even before trying any of them. Thank you.
Ma’ al salaama,
Fatimah.
Zoha
I am so happy you found your way here! Sending love to you and your family. <3
CJ
HELLO ZOHA FIRST TIME CAME ACROSS YOUR SITE – I WOULD LIKE TO TRY THESE WITHOUT EGG IF YES HOW PLEASE – THANK YOU
Ray
I am not normally one to venture out to write a review, but Oh My for this recipe! Outstanding recipe to say the least! I tried them for a family gathering, they were an absolute hit! Definitely a recipe to keep on my list for a long time! Thank you so much for sharing such an amazing recipe!
Asiya H
Fantastic recipe. Thank you so much.
Zoha
Thank YOU!
Hunter
how long does it take overall if your new to cooking zoha
Hena
Hi!
I was wondering if I wanted to use store bought khoya, would the ratios stay the same? 100g khoya in place of 100g milk powder?
Thanks!
Zoha
No Hena – that would become a different recipe 🙂