Gajar Ka Halwa with Dry Fruits: Winter Classic
In short: Gajar ka halwa is the winter classic — grated red carrots, slow-cooked in milk and ghee with khoya, finished with badam, kaju, pista, kishmish and coconut. One batch makes 8 servings and costs Rs 950 for the shop-bought dry fruits — about Rs 119 a serving. Carrots, khoya, ghee and milk are bazaar-bought and not costed here, because the shop does not sell them. It takes about two hours of slow cooking, and it is the dessert winter was made for.
Gajar ka halwa is the dessert that defines the Pakistani winter. It arrives with the red carrots — the short, sweet, deep-red carrots that come to the bazaar in November and stay till February — and it leaves when they do. Every household has a version, every version takes two hours, and every version is worth the two hours. It is the halwa you make in a big pot, because a small pot is never enough: the neighbours come, the family gathers, and the pot empties before it cools.
The method is slow and the work is simple. Grate the carrots, cook them in milk until the milk disappears, add ghee and cook until the carrots shine, add sugar and khoya, and finish with the dry fruits — badam and kaju folded in, pista and coconut on top. The dry fruit is not decoration here: it is the second half of the dish. A gajar ka halwa without dry fruit is a carrot sweet; a gajar ka halwa with dry fruit is the winter classic, and the difference is the crunch of the badam, the cream of the kaju, the green of the pista, and the chew of the kishmish and coconut in every spoon.
This guide gives the full gajar ka halwa recipe — the method, the portions, the storage, and the cost at today's live shop prices — as the next recipe in our winter-dessert series, after the badam halwa and the kheer. It is the longest-cooking dessert in the series, and the cheapest per serving: the carrots come from the bazaar for very little, and the dry fruit is the only shop shopping on the list. One honest note up front: the shop does not sell carrots, khoya, ghee or milk, so those four come from your bazaar and your kitchen; everything else is costed from the shop. The Roman Urdu version of this recipe is already live on our Laravel blog — read it in Roman Urdu here — and this is the English version, with the same recipe and the same prices.
The Recipe: Gajar Ka Halwa, Step by Step
Serves 8. Time: about 2 hours, plus cooling.
Ingredients. Red carrots (gajar) 1kg, peeled and grated (bazaar, not costed); full-cream milk 1 litre (ghar ka / bazaar, not costed); khoya 200g (bazaar, not costed); desi ghee 4 tablespoons (bazaar-bought — the shop does not sell plain desi ghee); sugar 150g (bazaar, not costed); green elaichi 3–4 pods, seeds crushed, optional; American badam 50g, blanched, peeled and slivered; raw kaju 50g, roughly chopped; pista giri 30g, slivered, for the top; desi kishmish 30g; dried coconut 30g, grated.
Step 1 — Grate the carrots. Peel the kilo of carrots and grate them on the coarse side of the grater — not the fine side, which turns them to mush, and not by hand-chopping, which cooks unevenly. Coarse shreds cook evenly and keep their shape in the halwa. Pick out any hard, woody cores as you grate; a woody core never softens, no matter how long you cook it, and it is the one flaw nobody forgives in a gajar ka halwa.
Step 2 — Cook the carrots in milk. Put the grated carrots and the litre of milk in a heavy pot on medium heat. Bring to a boil, then turn the heat to low and cook, stirring every few minutes, for 45–50 minutes, until the milk has almost completely cooked away and the carrots are soft and dark. This is the long step, and it is the one that cannot be rushed: fast heat scorches the milk, and scorched milk cannot be saved. Low heat, a heavy pot, and patience are the whole method.
Step 3 — Add the ghee and cook till it shines. Add the ghee and cook on low heat, stirring constantly, for 12–15 minutes. The carrots will loosen, then tighten, then start to shine — the ghee separates at the edges and the halwa takes on a deep, glossy red. That shine is the signal that the carrots are cooked. Keep the heat low: high heat browns the carrots in patches and the halwa comes out streaked.
Step 4 — Add the sugar, khoya and dry fruit. Add the sugar and the crushed elaichi seeds and cook for 5 minutes, until the sugar dissolves and the halwa thickens again. Crumble in the khoya and stir until it melts through the halwa — the khoya gives it the richness and the body that makes it a halwa rather than a carrot sweet. Then fold in the badam, kaju, kishmish and coconut, and cook for 5 more minutes, until the dry fruit has softened into the halwa. Do not add the pista yet: it stays crisp and green, and it goes on top.
Step 5 — Finish and serve. Take the pot off the heat. Spoon the halwa onto a plate or into small bowls, and sprinkle the slivered pista and a pinch of coconut on top. Serve warm, with a spoon. It sets as it cools into a firm, sliceable sweet — which is also good, but warm is the winter way, and warm is how it should be served the first time.
The one mistake. Adding the sugar too early. Sugar added before the carrots are cooked stops the carrots from softening — they stay hard no matter how long you cook them, and the halwa comes out crunchy in the wrong way. Sugar goes in only when the carrots are completely soft and the milk is gone. If your halwa has hard carrot in it, this is why.
The Ingredients, One by One
American badam — 250g Rs 1,100. The backbone nut, blanched and slivered, folded through the halwa. The batch uses 50g, costed at Rs 220. Blanch and peel if you like the clean look; for gajar ka halwa, blanched and slivered is the tradition, and the peel has no place in a red dessert.
Raw kaju — 250g Rs 1,400. The creamy nut, chopped, for the softness of the halwa. The batch uses 50g, costed at Rs 280. Buy raw, not salted — salt has no place in a halwa, and roasted kaju goes soft in the wrong way.
Pista giri — 250g Rs 2,750. The garnish and the luxury: slivered on top, not cooked in, so the green shows against the red halwa. The batch uses 30g, costed at Rs 330. It is the most expensive item per gram on this list — if the budget is tight, halve it to 15g and the halwa is still complete, because the top needs less than you think.
Desi kishmish — 250g Rs 500. The small sweetness inside the halwa, plumped by the hot milk and ghee. The batch uses 30g, costed at Rs 60. Pick out the stems first; a stem in a halwa is the one flaw nobody forgives.
Dried coconut — 250g Rs 500. The chew and the milkiness, folded in and sprinkled on top. The batch uses 30g, costed at Rs 60. Grated or desiccated both work; long shreds do not — cut them short so the halwa spoons smoothly.
Carrots, khoya, ghee, milk and sugar — not costed. Say it plainly, because the shop's own catalogue says it: fresh gajar, khoya, desi ghee, milk and sugar are NOT sold on the Shopify shop — they are bazaar and ghar ka. Buy the red winter carrots from your sabziwala, khoya from your halwai or dairy shop, ghee from your own trusted source, milk from your doodhwala, and sugar from your usual shop, at your own local prices. This guide does not invent a price for any of them, because there is no shop price to quote. The elaichi is optional and comes from your spice box.

The Costed List: One Pot, 8 Servings
Every price is the shop's own live price on 11 November 2026. The batch is costed by the amount used, from the verified pack price:
| Item (Shopify store) | Pack price | Used in pot | Pot cost |
|---|---|---|---|
| American Badam | 250g Rs 1,100 | 50g | Rs 220 |
| Raw Kaju | 250g Rs 1,400 | 50g | Rs 280 |
| Pista Giri (garnish) | 250g Rs 2,750 | 30g | Rs 330 |
| Desi Kishmish | 250g Rs 500 | 30g | Rs 60 |
| Dried Coconut | 250g Rs 500 | 30g | Rs 60 |
| Gajar, khoya, ghee, milk, sugar | — | 1kg / 200g / 4 tbsp / 1L / 150g | Bazaar, not costed |
| Total — one pot, 8 servings | — | — | Rs 950 |
| Per serving (8 servings) | — | — | ~Rs 119 |
Rs 950 a pot is the shop-bought cost; the carrots, khoya, ghee, milk and sugar from your bazaar sit on top of it, at your own local prices. The packs you buy go further than one pot: the 250g badam and kaju packs make five pots each, and the 250g kishmish and coconut packs make eight. The second pot, from the same shopping, costs far less than the first — which is the real economics of homemade gajar ka halwa. Skip the pista garnish and the pot falls to Rs 620, or about Rs 78 a serving.
Portions, Storage and Serving
Portion. One bowl (about 150g) is a serving — roughly Rs 119 of shop-bought ingredients, plus the carrots and khoya from your bazaar. Two bowls is a generous serving, and the second bowl is the one people ask for at a dawat. Anyone watching sugar should take a small bowl and skip the second: the pot has 150g of sugar in it, and that is real.
Warm is the winter way. Serve the halwa warm, within half an hour of cooking, while it is still soft and the ghee is shining. It sets as it cools into a firm, sliceable sweet — which is also good, and slices well for a lunchbox, but warm is how it should be served the first time. Never reheat a cold halwa hard — warm it gently in a pan with a spoon of milk, or the ghee separates and the halwa turns oily.
Storage. A covered bowl in the fridge: four to five days. The halwa firms up in the fridge — warm a portion gently before serving to bring it back to softness. It freezes better than kheer or custard: portion it into small boxes, freeze for up to a month, and thaw overnight in the fridge. If it smells sour or rancid, throw it away — milk, khoya and ghee do not negotiate.
Serving. Small bowls, not big ones: halwa is rich, and a small bowl finished is better than a big bowl left half-eaten. Garnish each bowl with a few slivers of pista and a pinch of coconut, and serve it after the main course, with chai — the way it has always been served, and the way it will always be served.
How do you make gajar ka halwa at home?
Grate 1kg of red carrots and cook them in 1 litre of milk on low heat for 45–50 minutes, until the milk is gone. Add 4 tablespoons of desi ghee and cook till the carrots shine, then add 150g sugar and 200g khoya, and fold in badam, kaju, kishmish and coconut. Garnish with slivered pista and serve warm. Add the sugar only when the carrots are completely soft.
How much does a pot of gajar ka halwa cost?
Rs 950 for the shop-bought dry fruits in one pot of 8 servings — about Rs 119 a serving. Carrots, khoya, ghee, milk and sugar are bazaar and are not costed, because the shop does not sell them. Skip the pista garnish and the pot falls to Rs 620.
Is gajar ka halwa a winter dessert?
Yes — it is the winter classic. It is made with the red carrots that come to the bazaar in November and stay till February, and it is cooked in milk and ghee for the cold months. The dry fruit garnish — badam, kaju, pista, kishmish and coconut — is what makes it a winter dessert rather than just a carrot sweet.
Can I make gajar ka halwa without khoya?
Yes, but it will be thinner. Khoya gives the halwa its richness and body — without it, cook the carrots in a little more milk and a little more ghee, and let it cook longer, until it thickens on its own. The halwa will still be good; it will just be a lighter one.
How long does gajar ka halwa keep?
Four to five days in a covered bowl in the fridge, and up to a month in the freezer in small portions. Warm a portion gently before serving — never reheat it hard, or the ghee separates. If it smells sour or rancid, throw it away.
Make Your Halwa: Order from Khan Dry Fruits — American badam 250g (Rs 1,100), raw kaju 250g (Rs 1,400), pista giri 250g (Rs 2,750), desi kishmish 250g (Rs 500): the core four for a pot of gajar ka halwa. Delivery across Pakistan. Browse the News blog →
Related: Dry Fruit Kheer at Home: Recipe + Cost for 6 Servings · Sohan Halwa: Multan's Desi-Ghee Winter Sweet Guide · Gajar Ka Halwa (Roman Urdu version)