I swear these Bavarian cream donuts come out softer, fluffier, and more cream-filled than anything I’ve grabbed from Dunkin. One bite and that silky custard center makes it impossible not to reach for another.

I’m not even trying to be dramatic, but this Bavarian cream donut recipe made me question every drive-thru donut I’ve ever settled for. I love how soft and pillowy the donuts turn out, with that glossy bite and a ridiculous amount of silky filling inside.
The Bavarian cream is rich from whole milk and tastes so good with vanilla extract that I kept “testing” it straight from the bowl. And yes, I’m fully obsessed.
Better than Dunkin in my kitchen, no contest. Each donut feels bakery-level, messy in the best way, and absolutely worth the sticky fingers.
Total dessert chaos.
Ingredients

- Whole milk makes the dough soft and the cream filling extra cozy.
- Yeast gives the donuts that fluffy, bakery-style puff you want.
- Sugar sweetens things up and helps the yeast get moving.
- Flour builds the donut, keeping it tender but not floppy.
- Salt keeps the sweetness from tasting flat.
Tiny thing, big job.
- Eggs add richness, structure, and that soft, golden bite.
- Butter brings flavor, tenderness, and that “yeah, it’s worth it” feeling.
- Vanilla makes the cream taste warm, sweet, and not boring.
- Frying oil gives the outside that light golden finish.
Basically, donut magic.
- Heavy cream makes the Bavarian filling airy, smooth, and a little fancy.
- Powdered sugar keeps the whipped cream sweet and the glaze silky.
- Egg yolks make the pastry cream rich, thick, and seriously dreamy.
- Cornstarch helps the filling set so it doesn’t run everywhere.
- Gelatin keeps the cream stable, especially if you’re making them ahead.
- Plus, glaze milk lets you control that perfect drippy finish.
Ingredient Quantities
- Whole milk 2 cups plus 1/4 cup, divided (room temp and warmed for yeast)
- Active dry yeast 2 1/4 teaspoons (1 packet)
- Granulated sugar 1/2 cup, plus 1 tablespoon for yeast bloom
- All purpose flour 3 1/2 to 4 cups
- Salt 1/2 teaspoon
- Large eggs 2
- Unsalted butter 1/2 cup (1 stick), softened
- Vanilla extract 2 teaspoons
- Vegetable oil or neutral frying oil 4 cups, plus more as needed for frying
- Egg for egg wash 1 (optional) plus 1 tablespoon milk
- Heavy cream 1 cup, cold (for folding into Bavarian cream)
- Powdered sugar 2 tablespoons for whipped cream and 2 cups for glaze
- Granulated sugar 1/2 cup for pastry cream
- Large egg yolks 4 (for pastry cream)
- Cornstarch 1/4 cup (for pastry cream thickening)
- Unsalted butter 2 tablespoons (for pastry cream)
- Unflavored powdered gelatin 1 teaspoon plus 2 tablespoons cold water (to bloom, for stability)
- Vanilla extract 1 teaspoon (for pastry cream)
- Salt pinch (for pastry cream)
- Milk 3 to 4 tablespoons for glaze (to thin as needed)
How to Make this
1. Bloom the yeast: warm 1/4 cup whole milk until lukewarm, stir in 1 tablespoon granulated sugar and 2 1/4 teaspoons active dry yeast, let sit 5 to 10 minutes until foamy.
2. Make the dough: in a large bowl combine 3 1/2 to 4 cups all purpose flour, 1/2 cup granulated sugar, and 1/2 teaspoon salt; in a separate bowl whisk together 2 cups room temperature whole milk, 2 large eggs, 2 teaspoons vanilla extract, the softened 1/2 cup unsalted butter and the foamed yeast; add wet to dry and mix until a soft, slightly sticky dough forms, adding up to the remaining flour if needed.
3. Knead and first rise: knead the dough on a lightly floured surface 6 to 8 minutes until smooth and elastic, place in a greased bowl, cover and let rise in a warm place until doubled, about 1 to 1 1/2 hours.
4. Shape and proof: punch down, roll out to about 1/2 inch thickness, cut rounds with a 3 to 3 1/2 inch cutter, place on parchment lined trays, cover and proof until puffy, about 30 to 45 minutes; optionally whisk 1 egg with 1 tablespoon milk and brush tops for a golden finish.
5. Fry the donuts: heat 4 cups vegetable oil or neutral frying oil in a heavy pot to 350 F (175 C), fry donuts a few at a time until golden, about 60 to 90 seconds per side, drain on paper towels and cool slightly.
6. Bloom gelatin: sprinkle 1 teaspoon unflavored powdered gelatin over 2 tablespoons cold water, let sit 5 minutes to bloom.
7. Make the pastry cream base: in a saucepan combine 1/2 cup granulated sugar and 1/4 cup cornstarch; whisk in 3 cups whole milk a little at a time until smooth; temper in 4 large egg yolks, return mixture to medium heat and cook, stirring constantly, until thick and bubbling; remove from heat and stir in 2 tablespoons unsalted butter, 1 teaspoon vanilla extract, a pinch of salt and the bloomed gelatin until melted and fully incorporated; transfer to a bowl, cover surface with plastic wrap and chill until cold.
8. Finish Bavarian cream: whip 1 cup cold heavy cream with 2 tablespoons powdered sugar to medium peaks and gently fold into the chilled pastry cream until smooth and light; refrigerate until it firms enough to pipe.
9. Fill and glaze: transfer Bavarian cream to a piping bag with a long tip, poke a hole into the side of each donut and pipe in cream until slightly oozing; make the glaze by whisking 2 cups powdered sugar with 3 to 4 tablespoons milk until smooth and pourable, dip the tops of filled donuts into glaze and set to dry briefly before serving.
Equipment Needed
1. Large mixing bowls (at least two)
2. Measuring cups and spoons
3. Whisk and rubber spatula
4. Stand mixer with dough hook or hand mixer (optional for easier kneading)
5. Rolling pin and 3 to 3.5 inch round cutter
6. Heavy pot or deep fryer plus a candy/deep fry thermometer
7. Slotted spoon or spider and tongs
8. Baking sheets lined with parchment paper and a wire cooling rack
9. Piping bag fitted with a long filling tip and a small saucepan for pastry cream
FAQ
The BEST Bavarian Cream Donut Recipe Substitutions and Variations
- Whole milk
- 2% milk plus 1 tablespoon heavy cream per cup to mimic richness
- Buttermilk for a tangy dough; reduce any added acid elsewhere
- Unsweetened full fat canned coconut milk for dairy free, expect a slight coconut flavor
- Oat milk for neutral dairy free option, may need a touch more fat for richness
- Active dry yeast
- Instant (rapid) yeast, use about 25% less and add directly to flour
- Fresh (cake) yeast, use roughly 3 times the weight of active dry yeast and dissolve in warm liquid
- Fed sourdough starter, replace part of flour and liquid with 1 cup active starter and extend fermentation time
- All purpose flour
- Bread flour for chewier, sturdier crumb; may need slightly more liquid
- Pastry flour for a more tender, delicate donut; expect a softer texture
- 1-to-1 gluten free flour blend (with xanthan gum) for gluten free; follow package for best results
- Whole wheat pastry flour to add nuttiness and structure; may need a bit more liquid and shorter mixing
- Heavy cream (for folding into Bavarian cream)
- Mascarpone folded with a little milk to lighten, adds richness and stability
- Stabilized whipped cream made with cream cheese or a small amount of gelatin for extra hold
- Chilled full fat coconut cream, whipped, for a dairy free alternative with similar body
- Greek yogurt beaten smooth and gently folded with whipped cream or whipped coconut cream for tang and body
Pro Tips
1. For the yeast and dough: aim for the milk to feel like a warm bath on your wrist, not hot. If the yeast blooms slowly, give it a little more time rather than adding more yeast. A well-bloomed starter makes the lightest, airiest donuts.
2. Texture checkpoint while kneading: stop when the dough is smooth and slightly tacky, not dry. Overflouring makes dense donuts, so add extra flour in small pinches only if the dough is collapsing on itself.
3. Oil and frying rhythm: keep the oil steady around 350 F. Fry in small batches so the temperature does not drop too much. Use a spider or slotted spoon to flip gently; rushing the turn or overcrowding gives greasy, heavy donuts.
4. Stability for the cream: fully bloom the gelatin and fold the whipped cream into chilled pastry cream only when the base is cold. That keeps the Bavarian light but stable enough to pipe without collapsing or leaking.
5. Filling and glazing finish: pipe from the side until you feel gentle resistance for a neat, filled center. Let the filled donuts rest briefly before glazing so the topping sets nicely and you avoid soggy tops. If glaze is too thick, add milk one teaspoon at a time to reach a smooth, glossy pourable consistency.

The BEST Bavarian Cream Donut Recipe
I swear these Bavarian cream donuts come out softer, fluffier, and more cream-filled than anything I’ve grabbed from Dunkin. One bite and that silky custard center makes it impossible not to reach for another.
12
servings
693
kcal
Equipment: 1. Large mixing bowls (at least two)
2. Measuring cups and spoons
3. Whisk and rubber spatula
4. Stand mixer with dough hook or hand mixer (optional for easier kneading)
5. Rolling pin and 3 to 3.5 inch round cutter
6. Heavy pot or deep fryer plus a candy/deep fry thermometer
7. Slotted spoon or spider and tongs
8. Baking sheets lined with parchment paper and a wire cooling rack
9. Piping bag fitted with a long filling tip and a small saucepan for pastry cream
Ingredients
-
Whole milk 2 cups plus 1/4 cup, divided (room temp and warmed for yeast)
-
Active dry yeast 2 1/4 teaspoons (1 packet)
-
Granulated sugar 1/2 cup, plus 1 tablespoon for yeast bloom
-
All purpose flour 3 1/2 to 4 cups
-
Salt 1/2 teaspoon
-
Large eggs 2
-
Unsalted butter 1/2 cup (1 stick), softened
-
Vanilla extract 2 teaspoons
-
Vegetable oil or neutral frying oil 4 cups, plus more as needed for frying
-
Egg for egg wash 1 (optional) plus 1 tablespoon milk
-
Heavy cream 1 cup, cold (for folding into Bavarian cream)
-
Powdered sugar 2 tablespoons for whipped cream and 2 cups for glaze
-
Granulated sugar 1/2 cup for pastry cream
-
Large egg yolks 4 (for pastry cream)
-
Cornstarch 1/4 cup (for pastry cream thickening)
-
Unsalted butter 2 tablespoons (for pastry cream)
-
Unflavored powdered gelatin 1 teaspoon plus 2 tablespoons cold water (to bloom, for stability)
-
Vanilla extract 1 teaspoon (for pastry cream)
-
Salt pinch (for pastry cream)
-
Milk 3 to 4 tablespoons for glaze (to thin as needed)
Directions
- Bloom the yeast: warm 1/4 cup whole milk until lukewarm, stir in 1 tablespoon granulated sugar and 2 1/4 teaspoons active dry yeast, let sit 5 to 10 minutes until foamy.
- Make the dough: in a large bowl combine 3 1/2 to 4 cups all purpose flour, 1/2 cup granulated sugar, and 1/2 teaspoon salt; in a separate bowl whisk together 2 cups room temperature whole milk, 2 large eggs, 2 teaspoons vanilla extract, the softened 1/2 cup unsalted butter and the foamed yeast; add wet to dry and mix until a soft, slightly sticky dough forms, adding up to the remaining flour if needed.
- Knead and first rise: knead the dough on a lightly floured surface 6 to 8 minutes until smooth and elastic, place in a greased bowl, cover and let rise in a warm place until doubled, about 1 to 1 1/2 hours.
- Shape and proof: punch down, roll out to about 1/2 inch thickness, cut rounds with a 3 to 3 1/2 inch cutter, place on parchment lined trays, cover and proof until puffy, about 30 to 45 minutes; optionally whisk 1 egg with 1 tablespoon milk and brush tops for a golden finish.
- Fry the donuts: heat 4 cups vegetable oil or neutral frying oil in a heavy pot to 350 F (175 C), fry donuts a few at a time until golden, about 60 to 90 seconds per side, drain on paper towels and cool slightly.
- Bloom gelatin: sprinkle 1 teaspoon unflavored powdered gelatin over 2 tablespoons cold water, let sit 5 minutes to bloom.
- Make the pastry cream base: in a saucepan combine 1/2 cup granulated sugar and 1/4 cup cornstarch; whisk in 3 cups whole milk a little at a time until smooth; temper in 4 large egg yolks, return mixture to medium heat and cook, stirring constantly, until thick and bubbling; remove from heat and stir in 2 tablespoons unsalted butter, 1 teaspoon vanilla extract, a pinch of salt and the bloomed gelatin until melted and fully incorporated; transfer to a bowl, cover surface with plastic wrap and chill until cold.
- Finish Bavarian cream: whip 1 cup cold heavy cream with 2 tablespoons powdered sugar to medium peaks and gently fold into the chilled pastry cream until smooth and light; refrigerate until it firms enough to pipe.
- Fill and glaze: transfer Bavarian cream to a piping bag with a long tip, poke a hole into the side of each donut and pipe in cream until slightly oozing; make the glaze by whisking 2 cups powdered sugar with 3 to 4 tablespoons milk until smooth and pourable, dip the tops of filled donuts into glaze and set to dry briefly before serving.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 195g
- Total number of serves: 12
- Calories: 693kcal
- Fat: 40.3g
- Saturated Fat: 13.5g
- Trans Fat: 0.08g
- Polyunsaturated: 5g
- Monounsaturated: 21.7g
- Cholesterol: 133mg
- Sodium: 125mg
- Potassium: 208mg
- Carbohydrates: 81.7g
- Fiber: 1g
- Sugar: 41g
- Protein: 7.6g
- Vitamin A: 1200IU
- Vitamin C: 0mg
- Calcium: 71mg
- Iron: 0.5mg


















