There are few flavor combinations I love more than hazelnut and espresso. Both have that deep, roasted quality, but they play very different roles. Hazelnut brings warmth, sweetness, and an almost buttery richness, while espresso introduces bitterness and acidity that cut through the cream. Together, they balance each other beautifully.
Panna cotta is one of those desserts that feels far more impressive than the effort required. It's essentially sweetened cream, gently heated and set with gelatin. No baking, no complicated technique. Just a little patience and a good ratio of ingredients.
For this version, I used a chocolate-hazelnut spread and a freshly pulled shot of espresso. The cocoa adds another layer of depth without turning it into a chocolate dessert, and the espresso keeps everything from becoming too sweet. I prefer using actual espresso rather than instant powder here. You get a more nuanced coffee flavor, and by replacing some of the milk with espresso, the extra liquid doesn't interfere with the set.
The texture is everything. You want it silky and delicate, with just enough structure to unmold and hold its shape. That little wobble is half the fun.
I served mine with a buttery crème anglaise and crunchy hazelnut praline. The contrast between the cool, trembling panna cotta, the smooth custard, and the caramelized hazelnuts makes every bite a little different.
And the best part? You can make almost everything ahead of time. My favorite kind of dessert when I'm hosting.
PREP TIME: 20 minutes active
COOK TIME: 10 minutes, plus 6–10 hours to set
Make the panna cotta the morning of or the day before serving. The hazelnut praline can be prepared several days ahead.
Ingredients (2, 4 oz molds)
Panna Cotta:
180 g heavy cream
10 g whole milk
20 g freshly pulled espresso
35 g hazelnut spread
8 g granulated sugar
2.5 g gold gelatin sheets (200 Bloom)*
¼ tsp vanilla extract
Pinch of kosher salt
*Gold gelatin sheets vary in weight by manufacturer. Mine are 2 g each, so this is approximately 1¼ sheets. Weighing the gelatin is the most accurate method.
Hazelnut Praline:
40 g whole hazelnuts
40 g granulated sugar
Pinch of flaky sea salt
Crème Anglaise:
1 large egg yolk
75 g whole milk
25 g heavy cream
15 g granulated sugar
¼ tsp vanilla bean paste or powder
Pinch of kosher salt
Step 1: Make the Hazelnut Praline
Preheat the oven to 350°F. Spread the hazelnuts on a baking sheet and toast for 8–10 minutes, until fragrant and lightly golden.
Transfer the warm hazelnuts to a clean kitchen towel and rub to remove as much of the skin as possible. Don't worry about getting every last bit.
Add the sugar to a small, heavy-bottomed saucepan over medium-low heat. Allow it to melt gradually, swirling the pan occasionally rather than stirring.
Once the sugar has completely melted and turned a deep amber color, remove from the heat and immediately stir in the toasted hazelnuts and a pinch of flaky salt.
Pour onto a parchment-lined baking sheet and spread into a thin layer. Allow to cool completely until hardened.
Break into pieces and pulse briefly in a food processor, or chop with a knife, until you have a coarse, irregular crumble. I like leaving some larger pieces for texture.
Store in an airtight container at room temperature until ready to serve. Humidity is the enemy of caramel, so keep it somewhere dry.
Step 2: Panna Cotta
Submerge the gelatin sheets in a bowl of ice-cold water for 5–10 minutes, until completely softened. Lift out and gently squeeze to remove the excess water.
Pull a fresh shot of espresso and measure out 20 g. Set aside.
Combine the heavy cream, milk, chocolate-hazelnut spread, sugar, and a pinch of salt in a small saucepan.
Warm over medium-low heat, whisking gently until the hazelnut spread has completely dissolved and the mixture is smooth. Heat until steaming, approximately 150–160°F. Do not boil.
Remove from the heat and stir in the freshly pulled espresso and vanilla.
Add the softened gelatin and whisk until completely dissolved. For an exceptionally smooth texture, briefly blend with an immersion blender, keeping the blade submerged to avoid incorporating too much air.
Strain through a fine-mesh sieve into a measuring jug.
Allow the mixture to cool slightly, stirring occasionally so the hazelnut solids remain evenly distributed.
Lightly oil two 4-ounce molds with a neutral oil, wiping away any visible excess. Divide the mixture between the molds and skim any bubbles from the surface.
Refrigerate for 6–10 hours, or overnight, until completely set.
The goal is a delicate, barely trembling panna cotta that still has enough structure to unmold. Because hazelnut spreads vary in fat and sugar content, the finished texture may differ slightly depending on the brand you use.
Step 3: Make the Crème Anglaise
In a small bowl, whisk together the egg yolk and sugar until smooth and slightly pale.
Combine the milk, heavy cream, vanilla bean paste, and a pinch of salt in a small saucepan. Warm over medium-low heat until steaming, but not boiling.
Slowly pour a small amount of the warm cream mixture into the egg yolk, whisking constantly to temper it.
Gradually whisk in the remaining warm cream, then return everything to the saucepan.
Cook over low heat, stirring continuously with a silicone spatula, until the custard thickens just enough to coat the back of a spoon, approximately 170–175°F.
Immediately strain through a fine-mesh sieve into a clean bowl.
Cool over an ice bath, then cover and refrigerate until completely chilled.
Crème anglaise should be pourable, not thick like pastry cream. You're looking for a delicate sauce that pools beautifully around the panna cotta.
Step 4: Unmold the Panna Cotta
Fill a small bowl with hot water.
Dip each mold into the water for approximately 5–8 seconds, keeping the water below the rim.
Place a chilled dessert plate over the mold and invert.
Give the mold a gentle shake to release the panna cotta. If it resists, dip it in warm water for another few seconds and try again.
Don't rush this part. Too much heat will melt the outer layer and compromise that beautifully smooth surface.
Step 5: Plating
Unmold the panna cotta slightly off-center on a chilled dessert plate.
Spoon or pour the chilled crème anglaise around the base, allowing it to pool naturally.
Scatter the hazelnut praline alongside, leaving some larger pieces for crunch.
Finish with a tiny pinch of flaky salt, if desired.
Serve immediately while the panna cotta is cold and the praline is crisp.
Enjoy!