Gajar halwa with khoya is a classic sweet indian dessert made with fresh carrots cooked slowly in milk and ghee, sweetened with sugar, and flavored with cardamom. It is a popular winter dessert that highlights the natural sweetness of seasonal carrots.
This halwa is gluten free and made with six to seven basic ingredients. My recipe brings it together in the traditional style(slow cooked), and tastes similar to the gajar halwa served in Indian weddings or at halwai (sweet shops).

For me, gajar halwa is connected to so many memories. It's a dessert I grew up eating like most indians. My grandmother made it season long in large batches using atleast 5 to 6 kilos of fresh red Delhi carrots.
Everyone at home helped out, and we kids took turns grating the carrots by hand (there were no food processors back then). A big kadai would go on the stove, and for hours, she gently cooked the carrots with milk, stirring from time to time. The result was the most indulgent, melt-in-your-mouth gajar halwa I've ever eaten.
Inspired by that, last year I created gajar ladoos stuffed with khoya, which you can say are halwa in ladoo form.
Carrot Halwa
Halwa in India is made with flours like semolina or gram flour, or even with vegetables and fruits like pineapple. Gajar halwa is often called Indian Carrot Pudding in restaurants abroad and it is loved for its rich texture, sweet flavor, and gentle warmth from cardamom.
Khoya, also known as mawa, is made by simmering whole milk for hours until all the liquid evaporates, leaving behind thick milk solids. These days good khoya is available in indian grocery stores (I use Vadial Khoa). However, I shared an instant khoya recipe a few years ago for those of you who want to try making it at home.
If you do not want to add khoya, use the same recipe and skip adding khoya.

About My Recipe
- Slow Cooked -With such classic indian recipes, I never cut corners. I like to set aside a slow day and make it them the traditional way. The patient bhunai (slow roasting and stirring carrots) brings out the deepest flavor, and trust me, it's absolutely worth the effort.
- Scaleable - You can scale this recipe and make a big batch and freeze for 2-3 months. How good does gajar halwa stash in the freezer sound?Yum!
Ingredients

- Fresh Carrots - We need shredded carrots. It is best to use Delhi red carrots. Here, in United States red carrots are usually avaiable from January to March. I purchase them at Whole Foods or Sprouts.
- Khoya/Mawa - Is easily available in freezer of indian grocery stores. If you would like to make it at home, use my instant khoya recipe . Make sure to buy the unsweetened khoya to use in this recipe.
- Milk - Whole milk works the best. It gives a richness and creaminess to halwa.
- Sugar - I like using raw cane sugar which I usually use at home. You can use granulated sugar or white sugar.
- Green Cardamom - Best to use fresh ground green cardamom. Simply crack open the cardamom pods and add the seeds to a small mortar and pestle and grind to a fine powder.
How To Make Gajar Halwa
- Wash, dry and peel the carrots using a vegetable peeler. Grate the carrots using a box grater or use food processor to grate the carrots. I use a food processor jar fitted with grater blade. Do not grate the carrots too fine else the halwa will not have any texture and it become mushy.



- Choose a wide utensil for cooking carrot halwa if possible(read below why). Add a tablespoon of ghee to a heavy bottom kadai or skillet. Fry the chopped nuts for a few minutes in ghee and take them out in a plate.
- Add 2 tablespoon ghee and add the grated carrots. Roast the carrots in ghee for 5-7 minutes while stirring constantly on low flame. This gets them started.
- Next, pour in the hot milk. We will now cook them together on low heat for about 20-30 minutes or until 95% of the milk has evaporated and carrots are super soft.
Utensil for Carrot Halwa- Use a wide mouthed and heavy bottomed cooking pot or pan. A wide pan helps you stir the carrots easily during bhunai. Secondly, the milk and moisture from sugar evaporates quickly in a wide mouthed pot. I use a 10- or 12-inch kadai or a skillet to make gajar ka halwa. A heavy bottom pot helps avoid milk scorching at the bottom during slow cooking.


- Using a spoon or spatula, keep stirring the the carrots and milk while they are cooking on low medium flame. This is to make sure that nothing is sticking to the bottom. You can half- cover the pan to help carrots soften if you wish.


- Once most of the milk has evaporated and the carrots are soft, add in the sugar. As sugar dissolves, you will notice the carrots will again become runny. We will continue to stir and let moisture evaporate. Keep stirring at regular intervals and allow slow cooking till ALL the liquid has evaporated. During this time, do not increase the heat and keep a close eye since due to caramelization of sugar, the chances of carrots burning are high.


- Once all moisture is gone, next, add the ghee and start the bhunai on low medium heat. Bhuno(fry) the carrots in ghee for a good 8-12 minutes on medium low heat. This is the key step for a nice toasty taste in the halwa. The carrots will become shiny, and you will smell a very very nice aroma. Please don't rush this part.
Do not Skimp on Ghee. Ghee not only adds flavor but also makes the carrot halwa rich and moist. When the amount of ghee is right, the taste of bhuna hua halwa (perfectly roasted) comes through and the halwa does not taste dry.


- Once the bhunai is nearing completion, you will see that tiny ghee bubbles on the sides of cooking pot and you will also hear a faint crackling sound. Halwa is ready.
- Switch off the stove and mix in the cardamom, crumbled mawa and the chopped nuts.Combine with gentle hands. Carrot halwa is ready. Avoid bhunai after adding the khoya else the fats from the mawa will separate and the halwa will become oily. The residual heat is plenty for the khoya crumbles to meld.


Serving & Storing
- Gajar ka Halwa is best served warm garnished with extra chopped nuts. You can crumble extra khoya on top when serving.
- Carrot halwa always tastes better the next day. Make the halwa and let it completely cool to room temperature and then store it in an air-tight container with a lid. Refrigerate and next day, reheat and serve it. You can store halwa in fridge for 4-5 days. To reheat, warm it up on stove on low heat or microwave.
- Freezing - Store carrot halwa frozen for 2-3 months. For freezing, portion out the halwa using a measuring cup(I usually do ⅓ cup portions) or ice cream scoop. I place the portions in a silicone muffin cups. Freeze for at least 6 hours. Place the frozen halwa portions in a ziplock back and keep in the freezer for when you want to use. You can thaw the quantity you like for at least an hour or so before reheating.


Slow Cooked Gajar Halwa Recipe (With Khoya)
Ingredients
- ½-3/4 cup melted ghee or as needed (be generous!), divided
- 500 g carrots (see note 1)
- 1+¾ cup full fat milk hot
- ¾ cup sugar (see note 2), adjust to taste
- ½ cup khoya or as needed (see note 7)
- ½ teaspoon ground cardamom preferably fresh group
- ⅓ cup mixed nuts of choice (chopped) or as much as you like
Instructions
- Wash, dry and peel the carrots using a vegetable peeler. Grate the carrots using a box grater or use food processor to grate the carrots. I use a food processor jar fitted with grater blade. Do not grate the carrots too fine else the halwa will not have any texture and it become mushy..
- Choose a wide utensil for cooking carrot halwa if possible(read below why). Add a tablespoon of ghee to a heavy bottom kadai or skillet. Fry the chopped nuts for a few minutes in ghee and take them out in a plate.
- Add 2 tablespoon ghee and add the grated carrots. Roast the carrots in ghee for 5-7 minutes while stirring constantly on low flame. This gets them started.
- Next, pour in the hot milk. We will now cook them together on low heat for about 20-30 minutes or until 95% of the milk has evaporated and carrots are super soft. Using a spatula, keep stirring the the carrots and milk while they are cooking on low medium flame. This is to make sure that nothing is sticking to the bottom. You can half- cover the pan to help carrots soften if you wish.
- Once most of the milk has evaporated and the carrots are soft, add in the sugar. As sugar dissolves, you will notice the carrots will again become runny. We will continue to stir and let moisture evaporate. Keep stirring at regular intervals and allow slow cooking till ALL the liquid has evaporated. During this time, do not increase the heat and keep a close eye since due to caramelization of sugar, the chances of carrots burning are high.
- Once all moisture is gone, next, add the ghee and start the bhunai on low medium heat. Bhuno(fry) the carrots in ghee for a good 8-12 minutes on medium low heat. This is the key step for a nice toasty taste in the halwa. The carrots will become shiny, and you will smell a very very nice aroma. Please don't rush this part.
- Once the bhunai is nearing completion, you will see that tiny ghee bubbles on the sides of cooking pot and you will also hear a faint crackling sound. Halwa is ready.
- Switch off the stove and mix in the cardamom, crumbled mawa and the chopped nuts.Combine with gentle hands. Carrot halwa is ready. Avoid bhunai after adding the khoya else the fats from the mawa will separate and the halwa will become oily. The residual heat is plenty for the khoya crumbles to meld.
- Serve warm garnished with extra chopped nuts. You can crumble extra khoya on top before serving.
Notes
- If available, preferably use red carrots in this recipe.
- If your carrots aren't too sweet, you can increase the quantity of sugar by 2 or 3 tablespoons. Adjust sugar quantity as per your preference.
- If nuts are a concern, simply skip chopped nuts in this recipe. You can add some golden raisins if you wish.
- Use a wide mouthed utensil.A wide pan helps you stir the carrots easily during bhunai. Secondly, the milk and moisture from sugar evaporates quickly in a wide mouthed pot. I use a 10- or 12-inch kadai or a skillet to make gajar ka halwa. A heavy bottom pot helps avoid milk scorching at the bottom during slow cooking.
-
- Do not Skimp on Ghee. Ghee not only adds flavor but also helps in bhunai the carrots. It makes the carrot halwa moist. When the amount of ghee is right, the taste of bhuna hua halwa (perfectly roasted) comes through and the halwa does not taste dry.
- Do not grate the carrots too fine else the halwa will not have any texture and it will be mushy. The right texture of delhi style gajar halwa is soft and melt in the mouth with a bit of chewiness at the end from grated carrots.
- Avoid too much bhunai after adding the khoya else the fat from the mawa will separate and the halwa will become oily.
- Gajar ka Halwa is best served warm garnished with extra chopped nuts. You can crumble extra khoya on top when serving.
- Carrot halwa always tastes better the next day. Make the halwa and let it completely cool to room temperature and then store it in an air-tight container with a lid. Refrigerate and next day, reheat and serve it. You can store halwa in fridge for 4-5 days. To reheat, warm it up on stove on low heat or microwave.
- Freezing - Store carrot halwa frozen for 2-3 months. For freezing, portion out the halwa using a measuring cup(I usually do ? cup portions) or ice cream scoop. I place the portions in a silicone muffin cups. Freeze for at least 6 hours. Place the frozen halwa portions in a ziplock back and keep in the freezer for when you want to use. You can thaw the quantity you like for at least an hour or so before reheating.
-
- Traditional Gajar Halwa With Milk - Skip khoya and grounds almonds in this recipe. Follow the recipe as it is. You can reduce the quantity of ghee to ⅓ cup if you wish.
-
- Gajar Halwa With Evaporated Milk - Simply use ½ cup regular milk and one 12 fl oz can of evaporated milk in this recipe. Only evaporated milk is quite thick and will evaporate quikcly without carrots getting a chance to cook fully, that's why we need to eat regular milk as well.
-
- Using Milk Maid(Condensed Milk) - To make carrot halwa with condensed milk, use ½ cup milk in this recipe along with 14 oz(380g) sweetened condensed milk. Skip the sugar.
-
- Gajar Halwa Using Milk Powder - Use ⅓ cup full fat milk powder instead of khoya in this recipe. Skip the khoya. I like using Nido brand milk powder.
-
- Vegan Gajar Halwa- Use cream cashew or almond milk in place of regular milk. Use plant based butter instead of ghee. Skip the khoya.






Preiyanka says
Thank you for sharing the recipe just in time Tanvi! The juicy red carrots are in season these days and I would love to try this.
Also, I did try the gobhi manchurian and noodles. They turned out amazing. Even my "omnivore" husband couldn't get enough of it!
Tanvi says
Thanks for cooking from the blog and your feedback. If a recipe works for someone, it makes me so happy. You brought a wide smile to me today.