There’s nothing quite like the smell of frying dough and a warm glaze that sets with a delicate crack—especially when you made them yourself. These homemade donuts are straightforward: a rich, milk-and-cream dough, a short rise, and a quick fry. They’re nostalgic, forgiving, and perfect for a weekend morning when you want something a little special.
I test recipes obsessively so you don’t have to. This version keeps the ingredient list simple and the technique focused on temperature and rhythm: warm dairy, a patient yeast bloom, gentle handling, and consistent oil heat. The result is tender, slightly pillowy donuts that take glaze beautifully.
Below you’ll find everything you need to gather, step-by-step instructions that follow a reliable sequence, and practical notes for swaps, equipment, and rescuing a batch that’s gone sideways. Read through once, set up your station, and plan for a little hands-on time—donuts reward careful, uncomplicated work.
Gather These Ingredients

Ingredients
- ½ cup heavy cream — adds richness and tenderizes the dough.
- ½ cup whole milk — provides structure and keeps the dough soft.
- ¼ cup granulated sugar — feeds the yeast and sweetens the dough.
- 1 teaspoon active dry yeast — leavening; bloom it to ensure activity.
- 2 cups all-purpose flour — the main structure; measure by spooning and leveling.
- ¾ teaspoons kosher salt — balances sweetness and strengthens gluten.
- Oil for frying — neutral oil with a high smoke point; depth should allow donuts to float.
- 1 cup + 6 tablespoons powdered sugar — for the vanilla glaze; gives shine and set.
- ½ teaspoon vanilla extract — flavor lift in the vanilla glaze.
- 2 tablespoons milk — thins the vanilla glaze to dipping consistency.
- pinch of salt — brightens the vanilla glaze.
- ½ cup powdered sugar — base for the chocolate glaze.
- ¼ cup dutch-processed dark cocoa powder — deep chocolate flavor and color.
- pinch of salt — balances chocolate bitterness.
- ¼ teaspoon vanilla extract — rounds the chocolate glaze.
- 7 teaspoons whole milk — thins the chocolate glaze to a dip-able texture.
The Method for Homemade Donuts
- In a small saucepan, combine ½ cup heavy cream, ½ cup whole milk, and ¼ cup granulated sugar. Heat over medium, stirring occasionally, until the mixture comes to a simmer. Remove from heat and cool the mixture to below 110°F.
- Stir 1 teaspoon active dry yeast into the cooled cream mixture. Let the yeast bloom for 10–15 minutes, until the mixture becomes puffy and foamy.
- In the bowl of a stand mixer, add 2 cups all-purpose flour and ¾ teaspoons kosher salt and stir briefly to combine.
- Pour the yeast-cream mixture into the flour mixture. Attach the dough hook and knead on speed 2 for about 5 minutes, until the dough is smooth and pulls away from the sides of the bowl.
- Lightly oil a glass bowl and oil your hands. Scrape the dough out of the mixing bowl, shape it into a ball, and place it seam-side down in the oiled bowl. Turn the dough once so the top is lightly oiled.
- Cover the bowl with plastic wrap or a clean kitchen towel and let the dough rise in a warm place until it is a little more than double in size, about 1 hour.
- Line a work surface with a little flour. Turn the risen dough out and roll it to about ½-inch thickness. Use a 3-inch round cookie cutter to cut out donuts and a 1½-inch round cutter to cut out donut holes.
- Gather scraps, reshape into a ball, and let the dough rest for 10–15 minutes before rolling again. Repeat cutting until you’ve used all the dough (or stop and keep the donut holes if you prefer).
- Pour oil for frying into a heavy pot to a depth that allows the donuts to float (use a thermometer). Heat the oil to 360°F and maintain a frying temperature between 350–375°F throughout cooking.
- Fry 3–4 donuts at a time (depending on pan size) without crowding. Fry until golden brown, flipping once halfway through cooking so both sides brown evenly. Fry donut holes the same way in batches.
- Using a slotted spoon, transfer fried donuts and holes to a wire rack set over a baking sheet to drain excess oil, or place briefly on paper towels. Let them cool slightly until warm but not hot before glazing.
- To make the vanilla glaze: in a small mixing bowl whisk together 1 cup + 6 tablespoons powdered sugar, ½ teaspoon vanilla extract, 2 tablespoons milk, and a pinch of salt until smooth and pourable. Add a drop more milk if needed to reach dipping consistency.
- To make the chocolate glaze: in a small mixing bowl whisk together ½ cup powdered sugar, ¼ cup dutch-processed dark cocoa powder, a pinch of salt, ¼ teaspoon vanilla extract, and 7 teaspoons whole milk until smooth and pourable. Adjust by whisking until the glaze has a consistency suitable for dipping.
- Dip each warm donut into the glaze of your choice, letting excess drip back into the bowl, then place glazed donuts on a wire rack set over a baking sheet to catch drips. Allow the glaze to set before serving.
Why This Recipe Works

This formula is simple and intentional. Heavy cream plus whole milk bring extra fat that tenderizes the crumb and gives the finished donut a richer mouthfeel than a milk-only dough. The modest sugar in the dough feeds the yeast, and the short rise—about an hour—keeps the structure light without developing sour flavors.
Kneading just long enough to make a smooth, elastic dough ensures the donuts pull away cleanly and fry into an even, airy shape. Frying at a steady 350–375°F is the single most important control: too cool and donuts absorb oil; too hot and the outside burns before the inside sets.
The two glazes give you different finishes: the vanilla glaze is glossy and classic, the chocolate glaze is deep and slightly denser. Both set quickly on a warm donut, making them convenient for serving the same day.
Ingredient Swaps & Substitutions

Want to accommodate what’s in your pantry? You can make sensible swaps, but watch how changes affect texture and flavor.
- Dairy — swap whole milk for 2% in a pinch, but reduce any non-dairy swap (like almond milk) only if you accept a slightly different texture. You’ll lose some richness without the heavy cream, so consider adding a tablespoon of neutral oil if you must omit cream.
- Sugar — granulated sugar in the dough is measured for yeast activity and balance. Reducing it will slow browning and change flavor; small reductions (up to 1–2 tablespoons) are okay.
- Flour — all-purpose flour is the target. If you use bread flour, expect a chewier bite and possibly a bit more rise; reduce kneading slightly.
- Yeast — if using instant yeast, you can add it directly to the flour and skip the bloom; expect a faster rise.
- Glazes — powdered sugar ratios are specific for texture. If you want a thinner glaze, add milk drops sparingly; for thicker, add a bit more powdered sugar. Cocoa powder can be unsweetened natural if dutch-processed isn’t available, but flavor and color will differ.
Setup & Equipment
What I use and why
- Stand mixer with dough hook — kneads consistently and saves arm fatigue. You can knead by hand for 7–10 minutes instead.
- Heavy-bottomed pot — holds steady oil temperature. Avoid thin pans that cause temp swings.
- Deep-fry thermometer — non-negotiable for consistent frying.
- 3-inch and 1½-inch round cutters — produce classic donut shapes and holes. A wide-mouth glass can substitute for cutters.
- Wire rack plus baking sheet — drains excess oil and allows glaze to set neatly.
Missteps & Fixes
Donut dough can be forgiving if you diagnose the issue quickly.
- Dough didn’t rise — check that the dairy was below 110°F when you added yeast. If the liquid was too hot, the yeast likely died. Start again or add fresh yeast to the cooled mix.
- Dough too sticky to roll — flour your surface and hands lightly. If it remains tacky after a short rest, fold in a tablespoon of flour at a time until manageable.
- Oil too hot (browned outside, raw inside) — lower the heat and allow oil to cool slightly before continuing. Keep a thermometer in the oil and adjust heat between batches.
- Donuts greasy — typically from oil that’s too cool. Bring oil up to 360°F before frying and avoid overcrowding the pan.
- Glaze won’t set — glaze applied to a very hot donut will slide off. Let donuts cool until warm, not piping hot, then glaze. If glaze is too thin, add a bit more powdered sugar.
Warm & Cool Weather Spins
Temperature affects both dough rise and frying. In colder kitchens, give the dough a warm spot to rise: an oven with the light on, or near a warm stove (but not over direct heat). In hot, humid weather, watch the rise closely—donuts can overproof. Shorten the first rise slightly if the dough puffs too fast.
For outdoor frying on a hot day, place your pot in a shaded area and monitor oil temp closely; ambient heat can make control trickier. In winter, keep a towel over the dough to prevent a dry skin forming while it proofs.
Chef’s Notes
Cut as many donuts as you can in the first pass before re-rolling scraps: fewer re-rolls mean lighter donuts. When you gather scraps, give the dough a 10–15 minute rest before rolling again—this relaxes the gluten and makes cutting easier.
If you like a filled donut, reserve some donut holes to test filling equipment and timing. Fillings should be added with a funnel or piping bag after frying and cooling slightly.
Keep It Fresh: Storage Guide
Donuts are best the same day. Store cooled, unglazed donuts in an airtight container at room temperature for up to 24 hours. Glazed donuts can be stored in a single layer lined with parchment and kept at room temperature for a day; refrigeration will alter texture and dull the glaze shine.
To refresh slightly stale donuts, warm them in a 300°F oven for 3–4 minutes—watch closely. For longer storage, freeze unglazed donuts in a single layer on a baking sheet, then transfer to a freezer bag; thaw and rewarm briefly before glazing.
Questions People Ask
Q: Can I bake these instead of frying?
A: Baking will change the texture—baked donuts are cake-like rather than airy and fried. If you do bake, expect a different result and reduce oven baking times considerably; this recipe is designed for frying.
Q: How do I know oil is the right temperature?
A: Use a thermometer: target 360°F to heat, and maintain 350–375°F while frying. Visual cues help—donuts should sizzle steadily and color evenly— but the thermometer is the reliable tool.
Q: Why is my glaze grainy?
A: Graininess usually comes from not sifting powdered sugar or not whisking enough. Whisk vigorously and, if needed, push the glaze through a fine mesh to remove lumps. A tiny extra splash of milk helps smooth it.
See You at the Table
This recipe delivers a classic doughnut experience: tender inside, crisp outside, and a glossy glaze that sets just right. Take your time with the bloom and the oil temperature, and you’ll be rewarded with warm, shareable treats. Make a pot of coffee, line up a variety of glazes, and invite friends or family—donuts are best enjoyed together.
If you try these Homemade Donuts, tell me how they turned out and what glaze won the morning. I love hearing about the small adjustments you made and the outcomes—those are the best kinds of kitchen stories.

Homemade Donuts
Ingredients
Ingredients
- 1/2 cupheavy cream
- 1/2 cupwhole milk
- 1/4 cupgranulated sugar
- 1 teaspoonactive dry yeast
- 2 cupsall-purpose flour
- 3/4 teaspoonskosher salt
- Oil for frying
- 1 cup+ 6 tablespoons powdered sugar
- 1/2 teaspoonvanilla extract
- 2 tablespoonsmilk
- pinch of salt
- 1/2 cuppowdered sugar
- 1/4 cupdutch-processed dark cocoa powder
- pinch of salt
- 1/4 teaspoonvanilla extract
- 7 teaspoonwhole milk
Instructions
Instructions
- In a small saucepan, combine ½ cup heavy cream, ½ cup whole milk, and ¼ cup granulated sugar. Heat over medium, stirring occasionally, until the mixture comes to a simmer. Remove from heat and cool the mixture to below 110°F.
- Stir 1 teaspoon active dry yeast into the cooled cream mixture. Let the yeast bloom for 10–15 minutes, until the mixture becomes puffy and foamy.
- In the bowl of a stand mixer, add 2 cups all-purpose flour and ¾ teaspoons kosher salt and stir briefly to combine.
- Pour the yeast-cream mixture into the flour mixture. Attach the dough hook and knead on speed 2 for about 5 minutes, until the dough is smooth and pulls away from the sides of the bowl.
- Lightly oil a glass bowl and oil your hands. Scrape the dough out of the mixing bowl, shape it into a ball, and place it seam-side down in the oiled bowl. Turn the dough once so the top is lightly oiled.
- Cover the bowl with plastic wrap or a clean kitchen towel and let the dough rise in a warm place until it is a little more than double in size, about 1 hour.
- Line a work surface with a little flour. Turn the risen dough out and roll it to about ½-inch thickness. Use a 3-inch round cookie cutter to cut out donuts and a 1½-inch round cutter to cut out donut holes.
- Gather scraps, reshape into a ball, and let the dough rest for 10–15 minutes before rolling again. Repeat cutting until you’ve used all the dough (or stop and keep the donut holes if you prefer).
- Pour oil for frying into a heavy pot to a depth that allows the donuts to float (use a thermometer). Heat the oil to 360°F and maintain a frying temperature between 350–375°F throughout cooking.
- Fry 3–4 donuts at a time (depending on pan size) without crowding. Fry until golden brown, flipping once halfway through cooking so both sides brown evenly. Fry donut holes the same way in batches.
- Using a slotted spoon, transfer fried donuts and holes to a wire rack set over a baking sheet to drain excess oil, or place briefly on paper towels. Let them cool slightly until warm but not hot before glazing.
- To make the vanilla glaze: in a small mixing bowl whisk together 1 cup + 6 tablespoons powdered sugar, ½ teaspoon vanilla extract, 2 tablespoons milk, and a pinch of salt until smooth and pourable. Add a drop more milk if needed to reach dipping consistency.
- To make the chocolate glaze: in a small mixing bowl whisk together ½ cup powdered sugar, ¼ cup dutch-processed dark cocoa powder, a pinch of salt, ¼ teaspoon vanilla extract, and 7 teaspoons whole milk until smooth and pourable. Adjust by whisking until the glaze has a consistency suitable for dipping.
- Dip each warm donut into the glaze of your choice, letting excess drip back into the bowl, then place glazed donuts on a wire rack set over a baking sheet to catch drips. Allow the glaze to set before serving.
Equipment
- Small Saucepan
- Stand mixer
- dough hook
- glass bowl
- Plastic Wrap
- Kitchen Towel
- work surface
- 3-inch round cookie cutter
- 1 1/2-inch round cutter
- heavy pot
- Thermometer
- Slotted spoon
Notes
This recipe makes 10 donuts if you reshape the donut holes. You can leave the donuts holes if you wish but this will reduce the amount of whole donuts.
When reshaping the dough to cut out more donut, you’ll need to allow the dough to rest to relax the gluten or it will shrink back on itself when cut.
