The first time I tried to make profiteroles, I pulled what looked like sad little deflated frisbees out of the oven. Noah was napping, Lily was watching cartoons, and I stood at the kitchen counter genuinely confused about where I had gone wrong. I had followed a recipe to the letter, or so I thought, and ended up with 24 flat golden discs instead of the gorgeous puffed little cream puffs I had dreamed about.
It took me three more attempts, a lot of YouTube videos, and one very patient phone call with my mom before I finally understood what choux pastry actually needs. Now these classic French profiteroles are one of my most requested desserts. Jake asks for them on his birthday every single year, and Lily calls them her “fancy puff balls.” They are pillowy, golden, filled with lightly sweetened vanilla cream, and finished with a glossy warm chocolate sauce that drips down the sides in the most irresistible way.
The good news is that once you understand a few key principles, profiteroles go from intimidating to totally achievable. I am going to walk you through every step, including the mistakes I made so you do not have to make them too.
Why You'll Love This Recipe
- Impressive but learnable: These look like something from a French patisserie window, but once you understand the choux method, they are far more forgiving than they appear.
- Make-ahead friendly: The pastry shells can be baked the day before, and the chocolate sauce keeps beautifully in the fridge, so you are not scrambling the night you serve them.
- Crowd-pleasing every single time: I have served these at dinner parties, birthday gatherings, and even a school bake sale, and every single time the plate is empty within minutes.
- Customizable filling: Vanilla pastry cream is the classic, but you can fill these with whipped cream, coffee cream, or even a scoop of softened ice cream for a showstopper dessert.
- Only a handful of pantry ingredients: Butter, flour, eggs, milk, cream, and good chocolate. Nothing unusual, nothing fancy. The magic is entirely in the technique.
Ingredients You'll Need
Choux pastry has a very short ingredient list, which means every single one of them matters. I want to walk you through what each ingredient is doing so the recipe makes sense as you go, not just as a list of instructions to follow blindly.
- 125ml (1/2 cup) water and 125ml (1/2 cup) whole milk, the combination of both gives you a slightly richer pastry than water alone, with a beautiful golden colour from the milk sugars.
- 115g (1/2 cup or 1 stick) unsalted butter, cubed, cut into small cubes so it melts quickly and evenly before the liquid comes to a boil.
- 1/2 teaspoon fine salt, do not skip this even in a sweet recipe. It balances the richness.
- 1 teaspoon caster sugar, just a small amount to encourage browning in the oven.
- 150g (1 cup plus 2 tablespoons) plain all-purpose flour, sifted, add this all at once and work quickly. Sifting prevents lumps in your dough.
- 4 large eggs, room temperature, this is the ingredient that creates the steam and the puff. Room temperature eggs incorporate much more smoothly than cold ones.
- 300ml (1 and 1/4 cups) heavy whipping cream, for the filling. Cold cream whips much faster and holds its shape better.
- 2 tablespoons icing sugar (powdered sugar), to sweeten the whipped cream filling gently.
- 1 teaspoon pure vanilla extract or 1/2 teaspoon vanilla bean paste, vanilla bean paste gives you those beautiful little flecks of real vanilla throughout the cream.
- 200g (7 oz) good quality dark or semi-sweet chocolate, roughly chopped, at least 60 percent cocoa solids for a sauce with real depth of flavour.
- 200ml (3/4 cup plus 1 tablespoon) heavy cream, for the chocolate ganache sauce.
- 1 tablespoon golden syrup or light corn syrup, this is the secret to a glossy, pourable sauce that does not seize up when it cools.
Room temperature eggs are non-negotiable for choux pastry. Cold eggs will lower the temperature of your cooked dough and can cause the mixture to split when you add them. I pull mine out of the fridge about an hour before I plan to bake. If you forget, sit the eggs in a bowl of warm water for 10 minutes and they will be fine.
The chocolate you choose for the sauce makes a real difference. I use a chopped bar rather than chips because chocolate chips contain stabilizers that prevent them from melting as smoothly. If you love baking with chocolate as much as I do, you might also enjoy my Chocolate Brownie Cookies, which use a similar technique of working with melted high-quality chocolate for maximum flavour.
Do not substitute the heavy cream in the filling with half-and-half or light cream. You need the fat content to get proper peaks that hold up once the profiteroles are filled. The cream should be very cold straight from the fridge when you whip it.
Note: The most common reason profiteroles collapse is opening the oven door before the pastry has fully set. Set a timer and resist the urge to peek for at least the first 20 minutes of baking. The steam inside the puffs is what creates the hollow centre and the structure. Letting it escape too early means flat pastry.
How to Make Classic French Profiteroles with Vanilla Cream and Chocolate Sauce
There are a few key moments in this recipe where your attention really matters: cooking the flour paste properly, adding the eggs gradually, and knowing when to take the puffs out of the oven. I will flag each of those moments clearly as we go through the steps.
Step 1: Make the Choux Pastry Dough.
Preheat your oven to 200C (400F) and line two large baking sheets with parchment paper. In a medium heavy-bottomed saucepan, combine 125ml (1/2 cup) water, 125ml (1/2 cup) whole milk, 115g (1/2 cup) cubed butter, the salt, and the caster sugar. Place over medium heat and stir gently until the butter is fully melted. Then increase the heat and bring the mixture to a full rolling boil.
The moment it reaches a full boil, take the pan off the heat and add all 150g (1 cup plus 2 tablespoons) of the sifted flour at once. Stir vigorously with a wooden spoon until it comes together into a smooth ball of dough. It will look shaggy for a few seconds, then suddenly pull into a cohesive paste. Return the pan to medium heat and stir constantly for about 2 minutes until the dough dries out slightly and leaves a thin film on the base of the pan. This step is important because it cooks out the raw flour taste and removes moisture that would prevent the pastry from puffing.
Lora’s Tip: You will know the dough is ready when it pulls cleanly away from the sides of the pan and leaves a visible dry film on the bottom. Do not skip this drying step even if it feels like the dough already looks smooth and ready.
Step 2: Beat in the Eggs.
Transfer the dough to a stand mixer fitted with the paddle attachment, or a large bowl if you are using a hand mixer. Allow it to cool for 3 to 4 minutes, stirring occasionally, until it is no longer steaming. You do not want the eggs to scramble when they hit the hot dough.
Beat in your 4 large room temperature eggs one at a time, making sure each egg is fully incorporated before adding the next. After each addition the dough will look slippery and separated, and you will think you have ruined it. Keep going. By the fourth egg it will be smooth, glossy, and thick. The finished dough should fall slowly from a spoon in a thick ribbon, or hold a “V” shape when you pull the spoon away.
Lora’s Tip: If you are not sure whether to add all four eggs, stop after three and a half and do the spoon test. Lift a spoonful and let it drop. If it falls in a slow, thick ribbon and the dough holds a lazy V shape, it is perfect. Every batch of dough is slightly different depending on how much moisture cooked off in the pan.
Step 3: Pipe and Bake the Profiteroles.
Fit a large piping bag with a 1.5cm (about 3/4 inch) round tip and fill it with the choux dough. Pipe small mounds about 4cm (1.5 inches) in diameter onto your prepared baking sheets, spacing them at least 5cm (2 inches) apart. They will puff significantly. You should get about 24 to 28 puffs.
Wet your fingertip and gently press down any little peaks left by the piping bag. This stops those peaks from burning while the rest of the profiterole is still baking. Slide the trays into the preheated oven and bake for 22 to 25 minutes, until the puffs are a deep golden brown and feel light when you pick one up. They should sound hollow when you tap the bottom.
Lora’s Tip: Once you close that oven door, leave it closed. No peeking for at least 20 minutes. The steam trapped inside is doing the lifting work, and opening the door lets it escape, which causes the puffs to collapse. After baking, pierce the side or base of each puff with a small skewer to let the remaining steam escape, then return to the turned-off oven with the door cracked open for 5 minutes. This keeps the shells crisp rather than soft.
Step 4: Make the Chocolate Sauce.
While the shells are cooling, make your ganache. Heat 200ml (3/4 cup plus 1 tablespoon) heavy cream in a small saucepan over medium heat until it just begins to simmer at the edges. Do not let it boil. Pour the hot cream over 200g (7 oz) of roughly chopped dark chocolate in a heatproof bowl. Let it sit undisturbed for 2 minutes, then add the golden syrup and stir gently from the centre outward in slow concentric circles until you have a perfectly smooth, glossy sauce.
Lora’s Tip: Stirring from the centre out rather than in large sweeping motions helps create a stable emulsion and keeps your ganache from going grainy. Keep the finished sauce warm over a bowl of warm water or in a small warm saucepan on the lowest heat while you fill the profiteroles.
Step 5: Whip the Cream and Assemble.
Pour 300ml (1 and 1/4 cups) cold heavy whipping cream into a large chilled bowl. Add the icing sugar and vanilla extract. Whip with an electric mixer starting on medium speed and increasing to high until you reach firm but still slightly soft peaks. The cream should hold its shape but not look grainy or butter-like. Transfer to a piping bag fitted with a star or round tip.
Using a small serrated knife, slice the top third off each cooled profiterole shell. Pipe or spoon a generous amount of the whipped vanilla cream into the hollow base. Replace the little pastry lid on top. Arrange the filled profiteroles on a serving plate or platter, then spoon or pour the warm chocolate ganache over the top, letting it cascade down the sides. Serve immediately. If you enjoy layered French desserts that reward patience with stunning results, my Opera Cake is another beautiful recipe worth trying next.
Lora's Kitchen Tips
- Use a scale, not just cups. Choux pastry is one of those recipes where even a small variation in flour or liquid can change the texture of the dough. I weigh every ingredient when I make this, and I strongly recommend you do the same.
- Dry out the dough properly on the stovetop. The 2-minute drying step over heat after the flour is added is not optional. It removes excess moisture and ensures the pastry puffs up instead of spreading flat in the oven.
- Let the dough cool before adding eggs. If the dough is still steaming hot when you add the first egg, the egg will scramble. Give it 3 to 4 minutes of stirring in the bowl before you begin. You want it warm, not hot.
- Do not open the oven door early. I know I keep saying this but it is genuinely the number one reason choux pastry fails. Set a timer for 20 minutes, walk away from the kitchen, and trust the process.
- Pierce and return to the oven after baking. Once the profiteroles are baked and golden, poke a small hole in the side of each one with a skewer and return them to the switched-off oven with the door ajar for 5 minutes. This lets the steam escape and keeps the shells crisp and dry rather than soft and chewy.
Variations and Substitutions
Once you have mastered the basic method, there are so many ways to play with profiteroles. Here are a few of my favourites that I have tested and loved.
Coffee Cream Filling: Add 1 teaspoon of good instant espresso powder dissolved in a tiny amount of hot water to your whipped cream along with the sugar and vanilla. The slight bitterness of the coffee plays beautifully against the sweet chocolate sauce.
Ice Cream Profiteroles: This is the classic French restaurant version. Skip the whipped cream and instead soften your favourite good quality vanilla or chocolate ice cream slightly, then scoop it into the hollowed shells. Assemble to order and drench with warm chocolate sauce. Lily thinks this version is the best thing I have ever made.
Salted Caramel Sauce: Swap the chocolate ganache for a pourable salted caramel sauce. The salty-sweet combination with the lightly sweetened cream filling is absolutely spectacular.
Choux au Craquelin: This is the patisserie-level upgrade. Before baking, press a small disc of craquelin, which is a simple mixture of butter, brown sugar, and flour mixed to a paste, onto the top of each piped mound. It bakes into a crackly, lightly sweet crust on top and makes the profiteroles look like they came straight from a professional bakery.
Chocolate Cream Filling: Fold 2 tablespoons of good quality cocoa powder into the whipped cream along with the sugar for a double chocolate experience that is rich without being heavy.
What to Serve with Classic French Profiteroles with Vanilla Cream and Chocolate Sauce
Profiteroles are very much a dessert that carries an entire meal on their own, so I tend to keep the rest of the menu simple. A long leisurely dinner with friends calls for something impressive at the end, and these deliver that moment every single time.
I love serving a big plate of profiteroles in the centre of the table and letting everyone help themselves. The warm chocolate sauce in a small jug on the side means everyone can pour as much as they want, and in this house that is always a lot.
If you are building a whole French-inspired dessert spread, a combination of these profiteroles alongside some lighter fruit-based desserts works beautifully. For something a little more relaxed and golden and buttery on the pastry side, my Strawberry Danish makes a gorgeous companion on a brunch or afternoon tea table alongside smaller profiteroles.
For drinks, I serve these with strong black coffee for the adults, because the bitterness cuts through the richness perfectly. A scoop of vanilla ice cream alongside the profiteroles instead of inside them is another lovely option if you want to keep the assembly lighter. Chilled sparkling water with a slice of lemon is always on our table too, because the freshness helps balance the richness of the chocolate sauce.
Storage, Freezing, and Reheating
- Storage: Unfilled baked shells can be stored in an airtight container at room temperature for up to 2 days. Once filled, profiteroles should be served within 2 to 3 hours before the cream softens the shells.
- Freezing: Baked unfilled shells freeze beautifully. Place them in a single layer in a zip-lock bag or airtight container and freeze for up to 1 month. This is a great way to get ahead before a dinner party.
- Thawing: Remove frozen shells from the freezer and spread them on a baking sheet. Warm in a 180C (350F) oven for 5 to 7 minutes to crisp them back up before filling. They will taste freshly baked.
- Reheating: The chocolate ganache sauce can be refrigerated for up to 5 days and reheated gently in a small saucepan over low heat, stirring constantly. Add a splash of warm cream if it has thickened too much.
- Make-ahead tip: Bake the shells and make the ganache up to 24 hours in advance. Keep the shells at room temperature in an airtight container and the ganache in the fridge. Whip the cream and assemble within 2 hours of serving for the best texture.
Frequently Asked Questions
Here are the questions I get asked most about this recipe, especially from friends who have tried profiteroles before and had things go sideways:
Why did my profiteroles come out flat instead of puffed?
The most likely culprits are either undercooking the flour paste on the stovetop, adding cold eggs to still-hot dough, or opening the oven door too early. The flour paste needs a full 2 minutes of stirring over heat to dry out properly. The dough needs to cool slightly before the eggs go in so they do not scramble and create lumps. And once those profiteroles are in the oven, the door stays shut for at least 20 minutes. One of these three things is almost always the reason for flat profiteroles.
Can I make profiteroles without a piping bag?
Yes, absolutely. I have used a zip-lock bag with one corner snipped off many times and it works just fine. You can also use two spoons to drop small mounds of dough onto the baking sheet, like dropping cookie dough. The shape will be slightly less uniform but the taste will be exactly the same. Lily actually prefers the rustic ones because she says they look friendlier.
My choux dough looks too thin after adding all the eggs. What do I do?
This can happen if the flour paste dried out too much on the stovetop, or if your eggs were on the larger side. Unfortunately, you cannot thicken the dough once it is too thin by adding more flour. The best approach next time is to add the fourth egg in two stages rather than all at once, checking the consistency after the first half. The dough is ready when it falls in a slow, thick ribbon from the spoon and holds a V shape. If your current batch is too thin, it will still bake into profiteroles, they will just spread a little more. Still delicious, just flatter.
Can I use a different filling instead of whipped cream?
Yes, and there are so many great options. Classic pastry cream, which is a cooked custard thickened with cornstarch, is the most traditional French filling and holds up better than whipped cream if you need the profiteroles to sit filled for longer. Softened ice cream is absolutely wonderful for a restaurant-style presentation. A combination of whipped cream folded with a little mascarpone also works beautifully because the mascarpone adds stability without changing the flavour much.
Can I make the chocolate sauce ahead of time and how do I keep it pourable?
Yes, the ganache sauce can be made up to 5 days ahead and stored in the fridge. To reheat, place it in a small saucepan over very low heat and stir gently, or microwave in 20-second intervals, stirring between each one. If it has thickened too much in the fridge, add a tablespoon or two of warm cream and stir until it loosens to a pourable consistency. The golden syrup in the recipe helps keep it glossy and prevents it from setting too firm.
I know profiteroles have a reputation for being tricky, and I am not going to pretend there is no technique involved. But I also want you to know that every single skill this recipe teaches you, cooking a flour paste, incorporating eggs into hot dough, knowing when pastry is truly done, is a skill that will make you a more confident baker across dozens of other recipes. Once you can make choux, eclairs and Paris-Brest and gougeres are all within reach.
Jake ate eight of these the first time I finally got them right. Eight. I counted. And Lily asked if we could have them for breakfast the next morning, which I said was a no, but I completely understood the impulse.
I really hope these classic French profiteroles become a recipe you return to again and again, for celebrations, for quiet Sunday afternoon baking sessions, and for those moments when you want to put something beautiful and delicious on the table for the people you love.
With love and choux,
Lora x
Classic French Profiteroles with Vanilla Cream and Chocolate Sauce
24
servings30
minutes25
minutes210
kcalIngredients
125ml (1/2 cup) water
125ml (1/2 cup) whole milk
115g (1/2 cup / 1 stick) unsalted butter, cubed
1/2 teaspoon fine salt
1 teaspoon caster sugar
150g (1 cup plus 2 tablespoons) plain all-purpose flour, sifted
4 large eggs, room temperature
300ml (1 and 1/4 cups) heavy whipping cream, cold
2 tablespoons icing sugar (powdered sugar)
1 teaspoon pure vanilla extract or 1/2 teaspoon vanilla bean paste
200g (7 oz) good quality dark or semi-sweet chocolate (60% cocoa), roughly chopped
200ml (3/4 cup plus 1 tablespoon) heavy cream
1 tablespoon golden syrup or light corn syrup
Directions
Preheat oven to 200C (400F) and line two baking sheets with parchment paper. Combine water, milk, butter, salt, and sugar in a saucepan over medium heat. Stir until butter melts, then bring to a full boil. Remove from heat, add all the flour at once, and stir vigorously until a smooth dough forms. Return to medium heat and stir for 2 minutes until dough dries out and pulls away from the sides of the pan, leaving a thin film on the base.
Transfer dough to a stand mixer bowl or large bowl and let cool for 3 to 4 minutes, stirring occasionally. Beat in eggs one at a time on medium speed, waiting until each is fully incorporated before adding the next. The finished dough should be smooth, glossy, and fall in a slow thick ribbon from a spoon.
Transfer dough to a piping bag fitted with a 1.5cm round tip. Pipe 4cm (1.5 inch) mounds onto prepared baking sheets, spacing 5cm apart. Wet fingertip and press down any peaks. Bake for 22 to 25 minutes until deep golden brown and hollow-sounding when tapped. Do not open the oven door for the first 20 minutes. Pierce each puff with a skewer and return to the switched-off oven with door ajar for 5 minutes. Cool completely on a wire rack.
Make the chocolate sauce: heat cream in a small saucepan until just simmering. Pour over chopped chocolate in a heatproof bowl. Let sit 2 minutes, add golden syrup, then stir gently from centre outward until smooth and glossy. Keep warm.
Whip cold heavy cream with icing sugar and vanilla to firm but soft peaks. Transfer to a piping bag. Slice the top third off each cooled profiterole shell, pipe or spoon cream into the hollow base, replace the pastry lid, and arrange on a serving plate. Pour or spoon warm chocolate sauce over the top and serve immediately.








