Dense, silky chocolate-hazelnut gelato is what happens when cocoa and toasted hazelnuts stop competing and start sounding like they were always meant to be together. The texture stays spoonable and rich instead of icy, and the flavor lands with that deep, roasted gianduia note that makes one scoop feel like a small luxury.
The trick is keeping the base custardy without letting it boil, then chilling it fully before it ever hits the machine. Cornstarch gives the gelato a little insurance, helping it freeze with a tighter, smoother body, while the egg yolks round out the chocolate and hazelnut so the finish tastes lush instead of flat. Toasted hazelnuts go in at the end for crunch and for that fresh nut aroma that keeps every bite interesting.
Below, I’ve included the little details that matter most: how to keep the custard from turning grainy, why the hazelnut paste matters, and what to do if you want this gelato a little softer or a little more intensely chocolate.
The custard thickened up in about five minutes and the gelato churned into that dense, scoopable texture I always get at the Italian shop downtown. The toasted hazelnuts at the end were the best part.
Love the deep gianduia flavor and dense scoopable texture of this chocolate-hazelnut gelato? Save it to Pinterest for your next homemade gelato night.
The Custard Has to Thickly Coat the Spoon Before You Stop Cooking
With gelato, undercooking is the mistake that shows up later as a thin, icy freeze. You want the base to thicken enough that it clings to the back of a spoon and leaves a clear path when you drag a finger through it. That usually happens just before a simmer turns into a bubble, so stay with the pan and keep stirring across the bottom and into the corners.
The cornstarch and yolks work together here. The cornstarch gives the base a little body fast, while the yolks keep it smooth and rich. If the heat climbs too high, the yolks can scramble or the cocoa can taste dry and chalky, so medium heat and constant movement matter more than speed.
What Each Ingredient Is Doing in the Bowl

- Hazelnut paste or Nutella — This is the backbone of the flavor. Hazelnut paste gives a deeper, less sweet nut flavor, while Nutella brings sweetness and a softer, milk-chocolate note. If you use Nutella, cut the sugar slightly if your palate runs sweet.
- Dutch process cocoa powder — Dutch process cocoa is smoother and darker, which fits the gianduia-style profile here. Natural cocoa will work in a pinch, but the flavor will be sharper and less round.
- Egg yolks — They add richness and help the gelato freeze with a creamy body. Skip the yolks and you’ll get a lighter texture, but it won’t have the same custardy depth.
- Cornstarch — This is the quiet helper that keeps the gelato from freezing into a hard block. Don’t skip it unless you’re using a different base designed for a true custard-only gelato.
- Toasted hazelnuts — Fold them in after churning so they stay crisp and keep their aroma. If they go in too early, they soften and disappear into the base.
Building the Base Without Scrambling the Yolks
Warm the chocolate milk first
Heat the milk, cream, and cocoa until steaming, then whisk in the hazelnut paste until the mixture looks smooth and glossy. That first whisk matters because hazelnut paste can hide in little streaks if the base isn’t warm enough. You’re aiming for a fluid, uniform mixture with no grainy cocoa clumps along the side of the pan.
Temper the yolks slowly
Whisk the yolks, sugar, and cornstarch until pale, then pour in the hot milk in a thin stream while whisking constantly. If you dump it in all at once, the yolks tighten and you’ll get bits of cooked egg. Slow and steady keeps the base smooth and gives the cornstarch time to disperse without forming lumps.
Cook until the spoon test tells you to stop
Return everything to the pan and cook over medium heat, stirring constantly, until it thickens enough to coat the spoon. The base should look like a loose custard, not pudding. Pull it from the heat as soon as it thickens; if you keep going, the texture gets heavy and the chocolate can lose its clean finish.
Chill hard before churning
Stir in the vanilla and salt, then cool the custard over an ice bath before refrigerating it for at least four hours. A cold base churns faster and freezes smoother, which is part of what gives gelato that dense, tight texture. If the base is even lukewarm, the machine has to work harder and the final result turns softer and icier.
Dairy-Free Version
Use full-fat coconut milk in place of the milk and cream. The flavor shifts a little toward coconut, but the gelato still freezes with a creamy body if you keep the cornstarch and churn it from fully chilled.
Extra-Intense Chocolate
Add another tablespoon of cocoa and use hazelnut paste instead of Nutella. That gives you a darker, less sweet finish with a stronger roasted nut flavor, closer to classic gianduia.
Softer Scoop Straight From the Freezer
For a slightly softer set, cut the freeze time after churning to about one hour instead of two. It will still firm up, but the texture stays easier to scoop without waiting on the counter.
Storage and Reheating
- Refrigerator: The base keeps for up to 2 days before churning, covered well. Whisk it again before it goes into the machine if any skin forms on top.
- Freezer: The churned gelato holds well for about 1 week. Press parchment or plastic wrap directly on the surface to limit ice crystals.
- Reheating: Not applicable here. For serving after a long freeze, let it sit at room temperature for 5 to 10 minutes so the scoop slides cleanly instead of cracking the top.
The Questions That Come Up Once You Start Churning

Chocolate-Hazelnut Gelato
Ingredients
Equipment
Method
- Heat the whole milk and heavy cream in a saucepan over medium heat until steaming, then whisk in the Dutch process cocoa powder until smooth and glossy.
- Whisk the hazelnut paste or Nutella into the hot cocoa mixture until fully smooth, with no streaks.
- In a separate bowl, whisk the egg yolks, granulated sugar, and cornstarch until the mixture turns pale and looks slightly thicker.
- Slowly whisk the hot chocolate milk into the egg-yolk mixture in a thin stream to temper, keeping the whisk moving.
- Return everything to the saucepan and cook over medium heat, stirring constantly, until thickened—about 5 minutes, until it coats the back of a spoon.
- Stir in the vanilla extract and salt, then cool completely over an ice bath until no longer hot to the touch.
- Refrigerate the cooled base at least 4 hours (chilling + freezing) until very cold.
- Churn in an ice cream maker on the lowest speed for a dense gelato texture, until thick and creamy like soft-serve.
- Fold in the toasted hazelnuts and serve immediately for a firmer scoop texture.
- For a firmer set, freeze the gelato 1-2 hours after churning, then scoop and serve.