The best Bavarian cream donuts are a little dramatic in the best way: a soft, sugar-dusted shell that gives way to a cool, vanilla-scented filling that feels like mousse and custard at the same time. This version gets there by folding freshly whipped cream into a chilled pastry cream, so the center stays light instead of heavy.
You’ll make the cream first (it needs time to chill), then a simple enriched yeast dough that fries up pale-golden and tender. If you’re planning a cozy weekend kitchen project, pair these with something sippable like my delicious creamy frappuccino and settle in.
Why You’ll Love This Recipe
- That filling is airy, not gluey. Folding stiff whipped cream into the chilled custard makes a Bavarian cream that pipes easily and eats like a cloud.
- The donuts stay soft. Eggs and melted butter enrich the dough, giving you a plush interior (no bready, dry centers).
- Make-ahead friendly. The pastry cream can be made and chilled ahead, so donut day is mostly mixing, frying, and filling.
- Simple finish, big payoff. Rolling the warm donuts in plain sugar gives you a thin, crackly coating that plays perfectly with the creamy center.
- Clear doneness cues. You’re frying at 350°F/180°C for just 1–2 minutes per side—quick, controlled, and easy to repeat batch after batch.
The Story Behind This Recipe
I wanted a Bavarian cream donut that tasted like a bakery case classic but still felt doable at home, so I kept the flavors clean—milk, butter, and vanilla—and leaned on good technique: a properly thickened pastry cream, fully chilled before folding in whipped cream, and a dough that proofs until genuinely puffy before it ever hits the oil. If you’re building a full brunch spread, these sit right alongside something savory like baked sausage breakfast hash.
What It Tastes Like
These are gently sweet with a clear vanilla aroma and a dairy-rich, custardy flavor that doesn’t feel overly heavy. The sugar coating gives a light crunch on the outside, while the inside stays pillowy and tender from the enriched dough. The filling is the star: cool, silky, and airy—like a vanilla pastry cream that learned how to float.
Ingredients You’ll Need
A few ingredients really matter here: egg yolks + cornstarch are what thicken the pastry cream into a pipeable base, and butter makes it taste rounded and smooth. For the donuts, whole milk, eggs, and melted butter enrich the dough so it fries up soft rather than chewy. Yeast can be active dry or instant; just follow the blooming note in the method so you get a strong rise.
For the Bavarian Cream Filling
- 3 egg yolks
- 1/4 cup (50g) white sugar
- 1 cup (240ml) whole milk
- 2 tablespoons cornstarch
- 1 teaspoon vanilla extract
- 1/3 stick (38g) butter
- 1 cup (240ml) heavy cream
For the Donut Dough
- 5 cups (600g) all-purpose flour
- 1/2 cup (100g) white sugar (plus extra for coating)
- 2 packs (14g) active dry yeast (or instant yeast*)
- 1 cup (240ml) whole milk
- 2 large eggs
- 2/3 stick (80g) butter, melted
- 1 teaspoon salt
- Vegetable oil, for frying
How to Make Bavarian Cream Donuts Recipe
- Start the pastry cream (do this ahead). In a bowl, whisk the egg yolks with the cornstarch and 2 tablespoons of the sugar until smooth and a bit pale. (You want no dry pockets of cornstarch—those make lumps later.)
- Warm the milk mixture. In a saucepan over medium-low heat, warm the remaining sugar, the milk, and the vanilla until it’s warm and steamy but not boiling.
- Temper the yolks. Slowly pour the warm milk into the yolk mixture while whisking constantly. Go gradually—this keeps the yolks from scrambling.
- Cook until thick and glossy. Return everything to the saucepan. Cook over medium heat, stirring continuously, until it thickens to a pudding-like texture. Once it bubbles, let it boil for 1 minute (this cooks out the starchy taste and fully activates the cornstarch), then take it off the heat.
- Smooth it out and chill. If you see any bits, strain through a fine-mesh sieve. Whisk in the butter one tablespoon at a time until the cream looks glossy. Press plastic wrap directly onto the surface (to prevent a skin) and refrigerate until fully chilled.
- Bloom the yeast (skip if using instant yeast). Warm the milk to body temperature (it should feel pleasantly warm, not hot). Stir in the yeast and 1 tablespoon of the sugar. Let stand 5–10 minutes until frothy on top.
- Mix the dough. In a stand mixer, combine the remaining sugar, eggs, and salt. Pour in the yeast mixture and stir to combine. Add the flour and mix on low until you have a shaggy dough with no dry flour hiding at the bottom.
- Knead in the butter. With the mixer running, slowly drizzle in the melted butter. Increase to high speed and knead 3–5 minutes; the dough should look smoother and more elastic.
- Finish by hand and first rise. Turn the dough out onto a floured surface and knead until smooth. Shape into a ball, place in a greased bowl, cover, and let rise until doubled, 1–2 hours. (Look for a puffy dome and a gentle spring back when you press it.)
- Cut and proof. Punch down the dough. Roll to 1/2-inch thickness and cut rounds with a 2.5–3 inch cutter. Set on a lined baking sheet, cover, and proof about 45 minutes, until noticeably puffy and lighter to the touch.
- Fry. Heat vegetable oil (at least 2–3 inches deep) to 350°F (180°C). Fry 2–3 donuts at a time for 1–2 minutes per side, until pale golden. (If they’re browning too fast, your oil is too hot; if they look greasy and take forever, it’s too cool.)
- Sugar-coat while warm. Transfer to a wire rack lined with paper towels. While still warm, roll in sugar so it clings in a thin, even layer.
- Finish the Bavarian cream. Whip the heavy cream to stiff peaks. Fold it into the chilled pastry cream in two additions—gentle folding keeps the filling airy and spoonable.
- Fill the donuts. Once the donuts are fully cooled, poke a hole in each with a chopstick or straw. Pipe the Bavarian cream in until the donut feels heavy and you see a little resistance, like it’s nicely packed.
Tips for Best Results
- Chill the pastry cream completely before folding in whipped cream. If it’s even slightly warm, the whipped cream will melt and your filling will go loose instead of fluffy.
- Boil the pastry cream for the full 1 minute. That minute is what gives you a stable, thick base that won’t taste starchy and will hold up inside the donut.
- Proof until truly puffy. Under-proofed rounds fry up tight and bready; properly proofed dough feels airy and looks slightly inflated, even before it hits the oil.
- Keep the oil at 350°F/180°C. Donuts cook fast (1–2 minutes per side), so small temperature swings show up immediately in color and greasiness.
- Fill only when the donuts are cool. Warm donuts melt the filling and can make the center slippery instead of creamy. For another make-ahead treat with a creamy finish, try my honey peach cream cheese cupcakes.
Variations and Substitutions
- Yeast choice: Active dry or instant yeast both work here. If you use instant, skip the blooming step and proceed with mixing (you’ll still warm the milk to body temperature).
- Vanilla-forward: Keep the vanilla measured as written for a clean, classic flavor that lets the milk-and-butter richness come through.
- Size tweak: Use the 2.5-inch cutter for slightly taller donuts (a bit more filling per bite) or 3-inch for a broader, bakery-style look—keep the dough at 1/2-inch thick either way.
How to Serve It
Serve these slightly cool or at room temperature so the Bavarian cream stays fluffy and set. I love piling them on a platter with extra sugar nearby for any spots that need a second roll. They’re excellent with coffee or a cold milk drink, and if you’re doing a bigger spread, balance the sweetness with something savory and creamy like creamy Tuscan spinach steak bites tortellini (or my alternate version of Tuscan steak bites tortellini if that’s the one you keep bookmarked).
How to Store It
Because these are filled with a dairy-based Bavarian cream, store leftovers in the refrigerator once filled. For the best texture, enjoy within a day—the sugar coating softens as it sits and the donuts lose that just-fried tenderness. If you want to get ahead, make and chill the pastry cream in advance, then fry, sugar, and fill closer to serving time.
Final Thoughts
If you want a donut that’s genuinely soft (not bread-like) and filled with a vanilla cream that’s light but still unmistakably rich, this is the batch to make—take your time chilling the custard, keep the oil steady, and enjoy that first bite when the sugar shell gives way to the cool, airy center.
Conclusion
If you’d like to compare notes with other home-baker approaches, I found the timeline and visuals in How to Make Bavarian Cream Donuts helpful, and I also appreciate the technique cues in Bavarian Cream Donuts Recipe and Bavarian Cream Filled Doughnuts when you want to sanity-check dough texture and filling consistency.

Bavarian Cream Donuts
Ingredients
Method
- In a bowl, whisk the egg yolks with the cornstarch and 2 tablespoons of the sugar until smooth and pale.
- In a saucepan over medium-low heat, warm the remaining sugar, the milk, and the vanilla until warm and steamy but not boiling.
- Slowly pour the warm milk into the yolk mixture while whisking constantly to temper the yolks.
- Return everything to the saucepan and cook over medium heat, stirring continuously, until it thickens to a pudding-like texture. Once it bubbles, let it boil for 1 minute, then take it off the heat.
- If there are any lumps, strain through a fine-mesh sieve. Whisk in the butter one tablespoon at a time until the cream looks glossy.
- Press plastic wrap directly onto the surface and refrigerate until fully chilled.
- Warm the milk to body temperature and stir in the yeast and 1 tablespoon of the sugar. Let stand 5–10 minutes until frothy.
- In a stand mixer, combine the remaining sugar, eggs, and salt. Pour in the yeast mixture and stir to combine.
- Add the flour and mix on low until you have a shaggy dough.
- Slowly drizzle in the melted butter while the mixer is running. Increase to high speed and knead for 3–5 minutes until the dough looks smoother and more elastic.
- Turn the dough out onto a floured surface and knead until smooth. Shape into a ball, place in a greased bowl, cover, and let rise until doubled, about 1–2 hours.
- Punch down the dough, roll to 1/2-inch thickness, and cut rounds with a 2.5–3 inch cutter. Set on a lined baking sheet, cover, and proof for about 45 minutes.
- Heat vegetable oil to 350°F (180°C). Fry 2–3 donuts at a time for 1–2 minutes per side until pale golden.
- Transfer to a wire rack lined with paper towels and while still warm, roll in sugar.
- Whip the heavy cream to stiff peaks and fold it into the chilled pastry cream gently in two additions.
- Once the donuts are fully cooled, poke a hole in each with a chopstick or straw and pipe in the Bavarian cream until the donut feels heavy.