Barfi & Fudge

Besan Barfi (Fudgy Gram Flour Barfi)

A dense, fudgy besan barfi that depends on roasting the gram flour to a deep amber shade before it meets the sugar.

Besan barfi is made by roasting gram flour slowly in ghee until it turns a deep biscuit-brown and smells toasted, then binding it with a one-string sugar syrup and setting it in a tray to cut into squares. The entire result rides on that roast: undercooked besan tastes raw and chalky, while besan taken even slightly past done turns gritty and bitter. Done right, the barfi is dense, fudgy, and melts slowly rather than crumbling like besan ladoo.

Golden-brown besan barfi squares topped with sliced pistachios, arranged on a pale ceramic plate
Prep
15 min
Cook
35 min
Total
50 min
Makes
20 pieces

Besan barfi and besan ladoo share the same two main ingredients, but they’re not interchangeable recipes with different shapes. Ladoo besan is roasted until it’s fragrant and rollable, then bound loosely with melted sugar or syrup and pressed into balls while still soft — the texture stays a little grainy on purpose. Barfi besan is roasted further, to a deeper colour, then hit with a proper one-string sugar syrup that sets firm as it cools. The syrup is what lets you cut clean, sharp-edged squares instead of rolling soft spheres.

The roast is genuinely the whole recipe here. Besan that’s underdone smells raw, almost like wet flour, and the finished barfi will taste chalky no matter how much sugar you add. Besan taken too far turns dark and bitter, with a gritty mouthfeel that no amount of ghee can fix. What you want is a shade between the two — warm biscuit-brown, glossy, smelling distinctly toasted and nutty, not unlike the base notes in mohanthal, which uses a similar roasted-besan technique but with a thicker, coarser crumb. Roast the besan with plain flour instead, then pull the warm dough by hand into thin layers before pressing it flat, and you are making soan papdi, the flaky one from the Diwali tin.

Stovetop roasting or microwave shortcut?

The traditional method is stovetop, low heat, constant stirring, for a reason: it gives you full control over colour and smell as they change. If you’re making this the first time, do it this way. You can actually watch the besan shift from pale yellow to clumpy to glossy brown, and you can pull it off the heat the moment it smells right. It’s slow, but the slowness is the point. Low heat gives the besan time to cook through evenly instead of browning outside while staying raw inside.

A microwave shortcut exists, and it does work once you know your machine. Some cooks melt the ghee and besan together in one-minute bursts, stirring hard between each one. It cuts the active stirring time down a lot. But microwaves heat unevenly, and it’s easy to end up with scorched pockets sitting right next to undercooked flour in the same bowl. If you try it, stir from the edges inward every single time, and shorten the bursts to 30 seconds once you see any colour change at all. For a first attempt, stick with the pan — it’s far more forgiving, and failure is more obvious before it’s too late to fix. If you want an even more hands-off sweet for a first try at mithai, coconut ladoo needs no roasting at all and is a reasonable warm-up project.

Ingredients

Tap an ingredient to cross it off as you go.

Instructions

  1. Line an 8-inch square tin with parchment or grease it well with ghee. Keep it ready before you start — once the sugar syrup is in, you won't have time to look for a tin.
  2. Rub the besan and milk together with your fingers in a wide bowl until the mixture looks like damp, coarse sand. This step, sometimes called 'mayo-ing', stops the barfi from tasting raw or chalky. Let it rest 15 minutes.
  3. Heat ghee in a heavy kadai or wide pan over low-medium heat. Add the besan mixture and start stirring right away with a flat spatula, scraping the base constantly.
  4. Keep stirring over low heat for 20-25 minutes. The besan will first clump, then loosen as the ghee is absorbed, then turn glossy and start smelling toasty and nutty rather than raw. Watch for the colour to shift from pale yellow to a warm biscuit-brown, roughly the shade of light peanut butter.
  5. Once the besan smells distinctly roasted and releases from the pan sides in a single glossy mass, turn off the heat and keep stirring for a minute off the stove — residual heat can tip it from done to burnt in seconds.
  6. In a separate small pan, dissolve sugar in water over medium heat and boil until it reaches one-string consistency: a drop between your thumb and finger forms a single unbroken thread when pulled apart gently. This takes about 5-6 minutes at a steady boil.
  7. Pour the hot syrup into the roasted besan in a thin stream, stirring hard and fast with a spatula. The mixture will bubble and loosen before thickening again within a minute or two. Add cardamom and saffron milk, if using, during this stage.
  8. Immediately pour the mixture into the lined tin and spread it level with the back of a spoon or an offset spatula, working quickly before it sets. Press nuts gently into the top.
  9. Let the barfi sit at room temperature for 2-3 hours, or in the fridge for 45 minutes, until firm but not rock-hard. Cut into squares with a sharp, dry knife before it fully hardens, then let the pieces finish setting separately.

Ingredient guides: Besan (Gram Flour): Coarse vs Fine, and How to Roast It

Ingredient swaps for cooks abroad

  • No coarse besan available: fine besan works, but roast it 5 minutes less since it cooks faster and scorches more easily.
  • Ghee substitute: unsalted butter can work in a pinch, though the barfi loses some of the nutty depth and sets slightly softer.
  • Saffron milk is optional and purely for colour and fragrance; skip it for a plainer, paler barfi with no change to texture.
  • If you don't have a kadai, any wide, heavy-bottomed stainless steel or nonstick pan works, as long as it conducts heat evenly.

Frequently asked questions

Is besan barfi the same as mohanthal?
Close relatives, not the same sweet. Mohanthal is the Gujarati besan barfi: hot ghee and milk are rubbed into the besan and rested for 20 to 30 minutes before roasting, and the mixture is pressed into the tin so it stays grainy and crumbly. Besan barfi, as most shops make it and as it is made here, uses milk alone with a short rest and is spread while loose, so it sets dense and fudgy instead.
What does properly roasted besan actually smell and look like?
It should smell toasted and nutty, similar to roasted peanuts, with no trace of raw flour smell left. Visually it turns a warm biscuit-brown, looks glossy rather than dry and crumbly, and pulls away from the sides of the pan in a single mass rather than sticking.
My barfi turned out crumbly instead of fudgy — what went wrong?
This usually means the besan wasn't roasted long enough, or the sugar syrup was undercooked and didn't reach proper one-string stage. Both the besan and the syrup need to hit the right point for the barfi to bind into a dense, fudgy block instead of falling apart.
Is it possible to make besan barfi without a stovetop, using an Instant Pot or similar?
Not really for the roasting stage — it needs direct, adjustable dry heat and constant stirring that a pressure cooker base can't replicate well. A wide, heavy pan on a regular stovetop burner remains the most reliable tool for this specific step.
How thick should I cut the pieces, and does it matter for setting?
Around half an inch is standard for besan barfi, thick enough to feel dense and fudgy rather than thin and brittle like a cookie. Thinner pieces set and firm up faster, so if you're short on time, spread the mixture thinner in a larger tin.
Will the barfi still set properly if I use fine besan instead of coarse?
Yes, fine besan sets just as firm, but it roasts noticeably faster and scorches more easily, so reduce the roasting time by about five minutes and stir without pause near the end.