Brigadeiro Gelato
Softer and chewier than a plain chocolate scoop, it tastes of cooked milk first, then bitter cocoa, with a salt edge that stops the sweetness closing in.

Every Brazilian birthday table since the 1940s has carried a bowl of the stuff: a pan sweet rather than a dessert cream, made by stirring condensed milk, cocoa and butter until the mass pulls away from the sides. Freezing that is not a case of beating cocoa into a white base, because cold flattens aroma and the candy has to arrive with its flavour intact. So the sheet runs 180 g of condensed milk per kilo, 35 g of cocoa and 15 g of butter, with the cocoa share deliberately higher than the pan version uses, plus a gram of salt to keep the sweetness from closing over everything.
That condensed milk is why the milk powder line in this formula reads 1 g/kg, which is as close to zero as the solver could get. Condensed milk arrives carrying roughly 44% sugar, 20% milk solids and 8.7% fat, so it lands MSNF at 9.52% by itself, sitting mid band inside the 8 to 12 window, and it drags added sucrose down to 50 g/kg. Total sugars finish at 16.61%, in the lower half of the 14 to 22 range, which is unusual for something this sweet-tasting.
The cocoa is the part that was deliberately pushed. A can recipe runs about 30 g of cocoa to a 395 g can of condensed milk, near 7.6% of the condensed milk weight. Here 35 g of cocoa against 180 g of condensed milk is about 19%. In the pan, cocoa gets concentrated by reduction; in a freezer it has to fight cold, which flattens aroma, so the ratio moves.
Butter at 15 g/kg brings 12.3 g of fat and total fat lands at 8.48%, comfortably inside 5 to 12. Butter is doing flavor work, not structure: it carries the cooked dairy note and the gloss of a rolled brigadeiro, and cream cannot replace it because cream also brings water.
Ingredients
Makes 1000 g of finished base.
| Ingredient | Grams | Home measure |
|---|---|---|
| Whole Milk | 595 | 2 1/2 cups |
| Condensed Milk | 180 | |
| Heavy Cream 35% | 80 | 1/3 cup |
| Sugar (Sucrose) | 50 | 1/4 cup |
| Dextrose (Glucose) | 40 | 3 1/2 tablespoons |
| Cocoa Powder 22-24% | 35 | |
| Butter | 15 | |
| Stabilizer (Neutral) | 3 | |
| Salt | 1 | |
| Non-Fat Dry Milk | 1 | 1/2 teaspoon |
Method
Shallow tray, two stick blender passes
- 1Whisk every dry ingredient together first: sugars, milk powder, stabiliser and salt. Dry-blending them stops the stabiliser clumping when it meets liquid.
- 2Warm the liquids to 40 C (104 F), then rain the dry mix in while whisking hard.
- 3Heat to 82 C (180 F) and hold for 2 minutes so the stabiliser hydrates.
- 4Chill in an ice bath to under 5 C (41 F) within 2 hours. Slow cooling is where bacteria and coarse crystals both start.
- 5Age 6 to 12 hours in the fridge under 5 C (41 F). This is when the stabiliser and the milk protein take up water.
- 6Freeze in a shallow metal pan 2 to 3 cm deep, breaking the crystals with a fork every 30 to 40 minutes, 4 to 6 times.
- 7Freeze firm, then temper 10 to 15 minutes in the fridge before scooping.
The balance
All six against the professional range for Milk Gelato.
Two numbers explain the sugar choices. MSNF at 9.52% means a large share of the sugar in this mix is lactose, which is barely sweet, so POD lands at only 164.05 in the lower half of the 135 to 200 band even though the mix is dense and rich. That is why sucrose stays at 50 g/kg and 40 g/kg of dextrose was used instead of more sugar: dextrose buys freezing point depression cheaply, and PAC finishes at 254.94, mid band in the 220 to 300 range, so the block stays scoopable out of a home freezer after a short temper without going soupy. The second number is lactose at 8.32% of the water phase. That is the ceiling this recipe lives closest to, and it is the reason the milk powder lever was capped at 40 g/kg here rather than the usual 50.
The brigadeiro flavor does not come from the raw ingredients, it comes from Maillard browning between lactose and milk protein while the condensed milk cooks. Stir cold condensed milk into a base and you get sweet chocolate gelato instead. Disperse the cocoa cold into the condensed milk before the heat goes on, add the salt with the cocoa, cook on low heat stirring constantly for 6 to 8 minutes until the mass pulls away from the pan bottom, and only then add the butter. Dissolve that paste into the hot dairy base at 80 C. Mature 12 hours at 4 C, churn cold, serve around -12 C. The lactose load makes this the mix in the set with the least margin for extra milk powder, so if the body feels thin, add cream, never powder.
If it goes wrong
The condensed milk went into the base cold, so no Maillard reaction ever happened.
Cook the condensed milk, cocoa and butter on low heat for 6 to 8 minutes until the mass leaves the pan bottom, then dissolve it into the base at 80 C.
Lactose crystallizing. This mix already sits at 8.32% lactose in the water phase with MSNF at 9.52%, so any added milk powder pushes it over.
Keep milk powder at or below 40 g/kg and correct body with cream instead.
Cocoa powder added straight into hot liquid, where it clumps instantly.
Whisk the 35 g of cocoa into the cold condensed milk before lighting the burner, and pass the finished base through a stick blender.
Allergens: milk
- https://www.thekitchn.com/brigadeiro-recipe-23281035
- https://www.iheartbrazil.com/brigadeiro-recipe/
- https://www.dairyfoods.com/articles/90396-working-with-cocoa-in-ice-cream
- https://icecreamcalc.com/2021/07/06/ingredient-tutorial/
Want to change an ingredient and watch the numbers move? Open the free balancer