Chocolate-hazelnut gelato lands with that deep gianduia flavor you remember long after the bowl is empty: dark cocoa, roasted hazelnut, and a texture that feels dense and silky instead of airy and fluffy. The best versions don’t melt into cream soup the second they hit the spoon. They hold their shape, scoop cleanly, and taste like the frozen version of a good chocolate-hazelnut spread, only more balanced and less sweet.
This version gets there with a small amount of cornstarch, which helps the custard stay smooth and gives the base a little more body before it goes into the machine. The egg yolks add richness, but the heat is kept low and steady so they thicken without scrambling. That matters here, because gelato should taste concentrated, not heavy.
Below, I’ve included the one part that matters most for the texture, plus the ingredient choices that make a real difference if you want that shop-style scoop at home.
The custard thickened exactly when you said it would, and the hazelnut pieces stayed crunchy instead of turning icy. It tasted like the gelato shop down the street, only richer.
Save this Chocolate-Hazelnut Gelato for when you want a dense gianduia-style scoop with real roasted hazelnut crunch.
The Custard Needs Gentle Heat, Not a Boil
Gelato fails when the base gets pushed too hard. The eggs tighten fast, cocoa can clump, and the whole mixture starts tasting heavier than it should. Here, the goal is a smooth custard that thickens just enough to coat the back of a spoon, not a pudding that has to be forced through a sieve.
The cornstarch helps stabilize the base, which is useful because hazelnut paste and cocoa both add richness without helping structure. If the mixture looks a little loose in the pan, that’s normal; it will thicken more as it chills. What you want on the stove is movement that slows, not a mixture that mounds.
What Each Ingredient Is Actually Doing in This Gelato

- Hazelnut paste or Nutella — Hazelnut paste gives the cleanest roasted nut flavor and the least sweetness. Nutella works well if that’s what you have, but the result will be sweeter and a little softer in flavor. If using Nutella, keep the sugar as written; if using a very sweet hazelnut spread, you may want to cut the sugar by 2 tablespoons.
- Dutch process cocoa powder — This gives the gelato its dark, round chocolate note. Natural cocoa tastes sharper and more acidic here, which can fight the hazelnut flavor. Sifting it into the warm milk helps prevent little dry pockets.
- Egg yolks — They add body and that velvety mouthfeel you want in a dense gelato. There’s no real substitute if you want the same richness, but you can use a cornstarch-only base for a lighter, egg-free style; it just won’t taste as lush.
- Cornstarch — This is the quiet insurance policy. It helps the custard thicken without needing a higher egg count and keeps the finished gelato from freezing hard and icy.
- Toasted hazelnuts — Stir them in at the very end so they stay crisp. If you add them before churning, they can lose their crunch and disappear into the base.
Building the Base Without Scrambling the Yolks
Warm the Chocolate Milk First
Start by heating the milk, cream, and cocoa until the surface is steaming and the cocoa looks fully dissolved. Whisk in the hazelnut paste while the liquid is warm so it melts smoothly instead of floating in streaks. If you see tiny lumps, keep whisking off the heat for another few seconds before moving on.
Temper the Yolks Slowly
Whisk the yolks, sugar, and cornstarch until the mixture turns pale and thick. Then add the hot milk in a slow stream while whisking constantly. This step keeps the yolks from cooking into bits; if you dump it in too fast, the eggs can seize and the base will never feel silky.
Thicken Until It Coats the Spoon
Return everything to the saucepan and cook over medium heat, stirring constantly and scraping the bottom and corners. You’re looking for a custard that thickens in about 5 minutes and leaves a clear line when you drag a finger across the spoon. If it starts to look grainy or steamy, pull it off the heat right away and keep stirring; it should finish smooth, not curdled.
Chill Fully Before Churning
Stir in the vanilla and salt, then cool the base over an ice bath before refrigerating it for at least 4 hours. A cold base churns into a denser, finer gelato texture, while a warm one stays loose and icy in the machine. The base should feel cold all the way through before it goes into the churn.
Dairy-Free Chocolate-Hazelnut Gelato
Use full-fat oat milk plus a splash of coconut cream in place of the milk and cream. The texture won’t be quite as rich, but the hazelnut flavor still comes through beautifully. Keep the cornstarch in the recipe, because it helps the dairy-free base freeze smoother.
Nutella Shortcut Version
Swap the hazelnut paste for Nutella and reduce the sugar by 2 tablespoons if you want a sweeter, softer gianduia flavor. The base will taste a little more candy-like and less roasted, but it churns well and is easier to make with one ingredient you may already have.
Extra-Crunch Finish
For more texture, scatter a few chopped hazelnuts over the top after scooping instead of folding all of them into the base. This keeps the nuts crisp and gives you a cleaner gelato-shop look.
Storage and Reheating
- Refrigerator: Keep the base up to 2 days before churning. After churning, the gelato holds best for about 1 week, though the texture gets a little firmer each day.
- Freezer: It freezes well, but like most homemade gelato, it becomes firmer than the version from a shop. Press parchment or plastic wrap directly on the surface before storing to limit ice crystals.
- Reheating: Not applicable. For the best scoop, let the container sit at room temperature for 5 to 10 minutes before serving so the texture relaxes instead of chipping off in shards.
Questions I Get Asked About This Recipe

Chocolate-Hazelnut Gelato
Ingredients
Equipment
Method
- Heat the whole milk and heavy cream in a saucepan until steaming. Whisk in the Dutch process cocoa powder until fully combined, then whisk in the hazelnut paste or Nutella until smooth and glossy.
- In a bowl, whisk the egg yolks, granulated sugar, and cornstarch until pale and thickened. Slowly whisk the warm chocolate-milk mixture into the yolk mixture to temper without scrambling.
- Return everything to the saucepan and cook over medium heat, stirring constantly, until the mixture thickens, about 5 minutes. It should coat the back of a spoon.
- Stir in the vanilla extract and salt, then cool the mixture completely using an ice bath. The base should feel cold to the touch before chilling.
- Refrigerate the base at least 4 hours until very cold. This helps the gelato churn into a dense, silky texture.
- Churn in an ice cream maker on the lowest speed until thickened to soft-serve consistency. Work in small bursts if needed so the mix stays smooth.
- Fold in the roughly chopped toasted hazelnuts. Serve immediately for a softer scoop, or freeze 1-2 hours for firmer gianduia gelato texture.


