There is something undeniably romantic about a crepe. Folded into quarters on a café plate, dusted with just a whisper of something sweet, filled with something dark and nutty — they feel like a small luxury, the kind of thing that turns an ordinary Tuesday morning into a little occasion. These chocolate hazelnut crepes carry all of that charm, with delicate, lace-edged wrappers and a filling so rich and glossy you would never guess it contains zero refined sugar.
What makes this recipe genuinely different is the use of allulose in both the crepe batter and the homemade chocolate hazelnut filling. Allulose is a rare sugar found naturally in figs and raisins that behaves almost identically to table sugar in cooking — it caramelizes, it dissolves smoothly, and it keeps the hazelnut filling soft and spreadable straight from the fridge. Unlike erythritol, it leaves no cooling sensation on the palate, which means the chocolate flavour comes through clean and true. The crepes themselves get just enough allulose to take the edge off without becoming cloying, letting the toasty hazelnut filling take centre stage.
Despite their elegant appearance, these crepes are firmly in the approachable category. The batter comes together in a blender in about two minutes, and the one non-negotiable rule — resting the batter for at least 30 minutes — actually works in your favour because you can make the filling during that time. This recipe is perfect for anyone who manages blood sugar, follows a low-carb or keto lifestyle, or simply wants a showstopping brunch dish that happens to be sugar-free. A first-time crepe maker can absolutely pull these off.
8
servings
Ingredients
- Chocolate Crepe Variation — Optional
- 120 gall-purpose flour (about 1 cup, spooned and leveled)
- 2 tbspallulose (granulated)
- 15 gDutch-process cocoa powder (about 2 tbsp)
- 0.25 tspfine sea salt
- 3 largeeggs, at room temperature
- 360 mlwhole milk (about 1.5 cups), at room temperature
- 60 mlwater (about 4 tbsp)
- 30 gunsalted butter (about 2 tbsp), melted and cooled, plus extra for the pan
- 1 tsppure vanilla extract
- —Chocolate Hazelnut Filling
- 160 graw hazelnuts (about 1 cup)
- 60 gallulose (powdered or granulated, about 5 tbsp)
- 30 gDutch-process cocoa powder (about 4 tbsp)
- 60 mlheavy cream (about 4 tbsp)
- 30 gunsalted butter (about 2 tbsp), softened
- 0.5 tsppure vanilla extract
- 0.25 tspfine sea salt
- —Whipped Mascarpone
- 225 gmascarpone cheese (about 1 cup), cold
- 120 mlheavy cream (about 0.5 cup), cold
- 2 tbspallulose (powdered or very finely granulated)
- 0.5 tsppure vanilla extract
- —To Serve
- Garnish
- —Chopped toasted hazelnuts
- —Sugar-free chocolate shavings or cacao nibs, optional
Ingredient Substitutions
Instructions
🔧 Equipment
- Make the hazelnut filling first. Spread the hazelnuts in a single layer on a dry skillet over medium heat and toast, shaking the pan every 30 seconds, for 5 to 7 minutes until the skins are cracked and the nuts are golden and fragrant. Tip them onto a clean kitchen towel, fold the towel over the nuts, and rub vigorously to remove most of the skins — perfection is not required. Let cool for 5 minutes.
- Transfer the skinned hazelnuts to a food processor and process for 4 to 5 minutes, scraping down the sides every minute, until you have a smooth hazelnut butter. It will go through stages: first crumbly, then clumped, then finally silky. Add the allulose, cocoa powder, softened butter, vanilla, and salt. Process for another 1 to 2 minutes. With the machine running, drizzle in the heavy cream and blend until the filling is glossy, smooth, and spreadable, about 1 minute more. Taste and adjust sweetness. Transfer to a jar and set aside at room temperature while you make the batter.
- Make the crepe batter. Combine the flour, allulose, salt, eggs, milk, water, melted butter, and vanilla in a blender. Blend on high for 20 to 30 seconds until completely smooth. The batter should be thin, about the consistency of heavy cream. Cover and rest in the refrigerator for at least 30 minutes (up to 12 hours). This rest allows the gluten to relax, which prevents rubbery crepes and helps them cook evenly.
- While the batter rests, make the whipped mascarpone. Combine the cold mascarpone, cold heavy cream, allulose, and vanilla in a medium bowl. Beat with a hand mixer starting on low speed and increasing to medium-high. Beat for 2 to 3 minutes until the mixture holds soft, billowy peaks. Do not overbeat or it will become grainy. Cover and refrigerate until serving.
- Cook the crepes. Heat a 10-inch nonstick skillet or crepe pan over medium heat until a drop of water flicked on the surface evaporates immediately. Brush lightly with melted butter. Lift the pan off the heat, pour in about 60 to 75 ml (about 4 to 5 tbsp) of batter, and immediately tilt and swirl the pan in a circular motion so the batter spreads into a thin, even round. Return to the heat.
- Cook for 60 to 90 seconds until the edges look dry and lightly golden, and the surface has lost its wet sheen. Slide a thin spatula under the crepe and flip in one confident motion. Cook the second side for 20 to 30 seconds — it will be paler with a few golden spots, which is correct. Slide onto a plate. Repeat with remaining batter, stacking crepes with a small piece of parchment between each one. You should get 8 to 10 crepes.
- Assemble and serve. Spread 2 generous tablespoons of chocolate hazelnut filling over one half of each crepe. Fold in half, then in half again to form a triangle (the classic quarter-fold). Arrange two on each plate, add a spoonful of whipped mascarpone alongside, and scatter with chopped toasted hazelnuts and optional chocolate shavings. Serve immediately while the crepes are still warm.
- Cook all the crepes using the stovetop method above (steps 3 through 6) and allow them to cool completely on a wire rack. Do not stack them warm or they may stick.
- Line the bottom of a 9-inch springform pan with parchment paper. Place one crepe flat on the bottom. Spread 1.5 tablespoons of chocolate hazelnut filling evenly to the edges using a small offset spatula. Add the next crepe and press down very gently. Continue layering — crepe, filling, crepe, filling — until all crepes are stacked. End with a plain crepe on top.
- Wrap the pan tightly in plastic wrap and refrigerate for at least 1 hour, or overnight. The filling will firm up between the layers and the stack will become sliceable and cohesive.
- When ready to serve, remove the plastic wrap and springform ring. Preheat the oven to 325°F (165°C). Place the crepe cake on a parchment-lined baking sheet and warm in the oven for 12 to 15 minutes, until the filling is just softened and the edges are barely beginning to crisp. The interior should be warm but the cake should still hold its shape.
- Remove from the oven. Spread or pipe the whipped mascarpone over the top layer. Garnish generously with chopped toasted hazelnuts and chocolate shavings. Slice into wedges with a sharp knife wiped clean between each cut, and serve immediately.
- Make the quick no-cook filling. In a blender or food processor, combine 120g (about 0.5 cup) of unsweetened hazelnut butter, 60g allulose, 30g Dutch-process cocoa powder, 60ml heavy cream, 30g softened butter, 0.5 tsp vanilla, and 0.25 tsp salt. Blend until completely smooth and glossy, 1 to 2 minutes. Taste and adjust sweetness. Transfer to a jar. The filling is ready immediately and can be used at room temperature.
- Make the crepe batter using the blender method in step 3 of the stovetop method. Rest for 30 minutes in the refrigerator.
- Lightly grease a microwave-safe silicone crepe mat or a microwave-safe 10-inch round plate with a thin film of butter applied with a paper towel. Pour 60 to 70 ml of batter onto the mat and tilt to spread into an even circle, or use the back of a spoon to spread it gently.
- Microwave on HIGH for 60 to 75 seconds. The crepe is done when the surface is completely set, dry to the touch, and the edges have just begun to curl away from the mat. Times will vary by microwave wattage — if your microwave is 700W, start checking at 80 seconds. Carefully peel off the crepe and place on a plate. Repeat with remaining batter.
- Fill and serve as described in step 7 of the stovetop method. Microwave crepes will be slightly thicker and less lacy than pan-cooked ones, but are still tender and delicious when freshly filled.
Nutrition Per Serving
Per 1 serving (makes 8 filled crepes (about 10 inches each))
Sweetener: allulose
Why This Recipe Works
The 30-minute batter rest is the single most important step in this recipe, and it is worth understanding why. When flour is mixed with liquid, the proteins glutenin and gliadin hydrate and link together to form gluten networks. In a freshly mixed batter, those networks are taut and elastic — they want to snap back, which causes the batter to pull away from the pan edges and cook unevenly. Resting gives the gluten time to relax and fully hydrate, which produces a more fluid batter that spreads into a thinner, more even round. The rest also allows the starch granules to fully absorb the liquid, giving you crepes with a more delicate, tender chew rather than a rubbery bite.
Allulose is doing important work in this filling that other sweeteners cannot replicate as cleanly. At a molecular level, allulose is a monosaccharide that your body absorbs but does not metabolize for energy, which is why it contributes almost zero calories and has a glycemic index of essentially zero. Crucially for a spread like this hazelnut filling, allulose behaves like sucrose in its ability to hold moisture and stay fluid at room temperature. Erythritol, by contrast, tends to crystallize when it cools, which can make a hazelnut spread grainy and stiff. Allulose stays glossy and scoopable straight from the fridge, giving the filling a texture much closer to a conventional Nutella-style spread.
If your crepes are tearing, the most common cause is either a pan that is not hot enough or batter that has not rested long enough. An under-heated pan causes the batter to set slowly, which means you try to flip too soon before the proteins have coagulated enough to hold the crepe together. The correct temperature is medium heat — hot enough that the batter sets within about 60 seconds but not so hot that it scorches before it has spread. If the first crepe always sticks or tears, that is normal — consider it the test crepe that seasons the pan. The second crepe is almost always better.
Baker’s Tips
- The first crepe is almost always a sacrifice. It helps regulate the pan temperature and distributes the butter coating evenly. Eat it as a cook’s snack and carry on.
- Swirling the pan the moment the batter hits is everything. Have a confident, practiced motion ready before you pour. The batter sets quickly, so hesitation means a thick, uneven crepe.
- Room temperature eggs and milk are non-negotiable for a smooth batter. Cold dairy causes the melted butter to re-solidify into small clumps, resulting in a greasy, uneven texture.
- If the batter thickens too much during the rest (some flours absorb more than others), thin it with a tablespoon of cold water at a time until it flows like heavy cream again.
- When processing hazelnuts for the filling, be patient. It genuinely takes 4 to 5 minutes to go from crumbs to smooth butter. Stopping early will leave the filling gritty.
- To keep a stack of finished crepes warm while you cook the rest, place them on an oven-safe plate in a 200°F (95°C) oven. They will stay soft and pliable for up to 20 minutes.
- Powdered allulose dissolves more seamlessly in the whipped mascarpone than granulated. If you can only find granulated, blitz it briefly in a blender or spice grinder first.
Variations
- Double chocolate crepes: Add 15g (2 tbsp) Dutch-process cocoa powder to the crepe batter and reduce flour by the same amount. The cocoa crepes are stunning against the hazelnut filling and add a more intense chocolate flavour throughout.
- Orange chocolate hazelnut: Add 1 tsp finely grated orange zest to the crepe batter and 0.5 tsp to the filling. Citrus brightens the chocolate beautifully and makes the crepes feel even more special.
- Keto adaptation: Replace all-purpose flour with 60g (about 0.5 cup) almond flour and 30g (about 3 tbsp) coconut flour. The crepes will be slightly more fragile — handle gently. Add an extra egg to the batter for better structure.
- Dairy-free version: Use unsweetened almond or oat milk in the batter, coconut oil instead of butter in the batter and filling, coconut cream instead of heavy cream in the filling, and whipped full-fat coconut cream instead of mascarpone.
Troubleshooting & FAQ
My crepes keep sticking to the pan even though I am buttering it. What is going wrong?
My chocolate hazelnut filling turned out gritty rather than smooth. Can I fix it?
My whipped mascarpone broke and turned grainy. What happened?
My crepes are coming out too thick and rubbery instead of thin and delicate. How do I fix this?
The filling is too firm to spread on the warm crepes straight from the fridge. What should I do?
Storage & Make-Ahead
- Storage: Cooked, unfilled crepes can be stacked with parchment between layers, wrapped tightly, and refrigerated for up to 3 days or frozen for up to 2 months. The chocolate hazelnut filling keeps in a sealed jar in the refrigerator for up to 2 weeks — bring to room temperature before spreading. Whipped mascarpone should be made fresh or stored covered in the refrigerator for up to 24 hours. Assembled crepes are best eaten immediately.
- Make-Ahead: The crepe batter can be made and refrigerated overnight — give it a gentle stir before cooking. The chocolate hazelnut filling can be made up to 2 weeks ahead and refrigerated. Crepes can be cooked up to 3 days ahead. For the crepe cake variation, the entire assembled cake can be refrigerated overnight before the oven warm-through step.






