Fior di Latte Gelato

Plain cold dairy with nowhere to hide: dense on the spoon, gently sweet, carrying a whisper of salt that makes the milk read milkier before the finish clears.

fior di latte gelato
Prep
24 min
Freeze
4 h
Yield
1000 g
Difficulty
Easy

Italian gelaterie get judged on this one, because nothing has been added to distract from the dairy. The milk is the flavour, so every choice becomes a question of bands rather than of dosing, and the single non-dairy taste element is 1 g/kg of salt, which lowers the threshold at which sweetness registers. Cream is allowed to climb, since milk fat is the only aroma carrier present, but whole milk still dominates so the result lands on the gelato side and not the American ice cream side. Non-fat dry milk builds the body, and its limit is lactose: too much and the spoon turns sandy in storage, in the one flavour where a defect has nowhere to hide.

Cream runs up to 185 g/kg because milk fat is the only aroma carrier here, but the base stays milk forward. With 579 g/kg of whole milk, fat lands at 8.55%, on the gelato side of the 5 to 12 band rather than the American ice cream side.

Non-fat dry milk at 47 g/kg is the lever that builds the body, and MSNF finishes at 10.74%, in the upper half of the 8 to 12 range. High MSNF binds free water through casein, which matters in a recipe that has neither yolk nor fruit pulp to hold water. The reason it stops at 47 g/kg is lactose: this mix already sits at 9.41% lactose in the water phase and 5.85% of total mass, and past that the lactose crystallizes in storage and the spoon turns sandy in the one flavor where any defect is obvious.

Dextrose at 25 g/kg and glucose powder at 35 g/kg exist to split two levers that sucrose alone cannot separate. Dextrose buys freezing point depression without much mass, glucose powder buys solids and body with little effect on the freezing point. Together they land PAC at 257.48 and solids at 37.79% independently of each other, while POD stays at 165.60, in the lower half of the 135 to 200 band, so a plain milk gelato does not end up tasting of sugar.

Ingredients

Makes 1000 g of finished base.

IngredientGramsHome measure
Whole Milk5792 1/3 cups
Heavy Cream 35%1853/4 cup plus 1 tablespoon
Sugar (Sucrose)1251/2 cup plus 2 tablespoons
Non-Fat Dry Milk471/2 cup
Glucose Powder353 tablespoons
Dextrose (Glucose)252 tablespoons
Stabilizer (Neutral)3
Salt1

Method

Shallow tray, scrape and fold, no whipping

  1. 1Whisk every dry ingredient together first: sugars, milk powder, stabiliser and salt. Dry-blending them stops the stabiliser clumping when it meets liquid.
  2. 2Warm the liquids to 40 C (104 F), then rain the dry mix in while whisking hard.
  3. 3Heat to 82 C (180 F) and hold for 2 minutes so the stabiliser hydrates.
  4. 4Chill in an ice bath to under 5 C (41 F) within 2 hours. Slow cooling is where bacteria and coarse crystals both start.
  5. 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.
  6. 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.
  7. 7Freeze firm, then temper 10 to 15 minutes in the fridge before scooping.

The balance

All six against the professional range for Milk Gelato.

Total solids37.8%
3442
Sugars18.1%
1422
Fat8.6%
512
MSNF10.7%
812
PAC257
220300
POD166
135200

The governing number here is lactose at 9.41% of the water phase, the highest load this mix can safely carry, and it comes straight from MSNF at 10.74%. That MSNF is not an accident of the dairy, it is the whole structural strategy: with no yolk, no pulp and no cocoa solids, casein is the only thing binding free water, so the formula pushes milk solids as high as the lactose ceiling allows and stops. Everything else works around that. Fat at 8.55% keeps the aroma carrier without tipping into ice cream territory, PAC at 257.48 sits mid the 220 to 300 range so the block tempers cleanly, and POD at 165.60 stays deliberately low because sweetness is the easiest way to ruin a flavor whose entire appeal is fresh dairy.

Technique note

This is the least forgiving base on any menu, because no aroma is covering a defect. Pasteurize at 82 to 85 C and hold 30 seconds. Do not go past 85 C: above 90 C the whey protein denatures too far and a cooked milk flavor appears, which in a fior di latte is a defect rather than a characteristic. Hydrate the stabilizer by pre-mixing the 3 g/kg dry with part of the sugar and adding it around 40 to 45 C. Thrown straight into cold milk it clumps, and the gum beads only show up later, in the mouth. Mature 6 to 12 hours at 4 C so the fat partially crystallizes and the protein rehydrates; skip that and the body comes out thin. Churn to low overrun, 25 to 35%, because air dilutes exactly the dairy aroma that is the product.

If it goes wrong

Sandy, gritty texture that appears after a few days in the freezer.

Lactose crystallizing. This mix already carries 9.41% lactose in the water phase and 5.85% of total mass.

Keep non-fat dry milk at 47 g/kg. If the body feels thin, add cream, never more powder.

A cooked or condensed milk taste instead of fresh dairy.

The base went past 85 C during pasteurization and the whey protein over-denatured.

Hold 82 to 85 C for 30 seconds and chill immediately. In a fior di latte that cooked note is a defect, not a feature.

Small rubbery beads that only show up when you eat it.

The 3 g/kg of stabilizer was dropped into cold milk and clumped.

Pre-mix the stabilizer dry with part of the sugar and add it at 40 to 45 C while stirring.

Allergens: milk

Sources
  • https://www.dreamscoops.com/recipes/fior-di-latte-gelato-recipe/
  • https://scoopsandsavor.com/italian-fior-di-latte-recipe-gelato-base-recipe/
  • https://www.dreamscoops.com/ice-cream-science/ice-cream-calculator/

Want to change an ingredient and watch the numbers move? Open the free balancer