Warm the milk and prep the yeast. If using active dry yeast, sprinkle it over the warm milk with a pinch of sugar and let it sit for 5–10 minutes until foamy.
If using instant yeast, you can add it directly to the dry ingredients and simply warm the milk.
Mix the dry ingredients. In a large bowl, whisk flour, sugar, and salt. If using instant yeast, whisk that in now.
Add the wet ingredients. Stir in the warm milk, eggs, and vanilla. Mix until a shaggy dough forms.
It will look a bit rough—this is fine.
Knead and add butter gradually. Knead the dough by hand or mixer (dough hook) on medium-low for 2–3 minutes, then add the soft butter in small pieces. Continue kneading for 6–8 minutes until the dough is smooth, elastic, and slightly tacky but not sticky. It should stretch without tearing.
First rise. Shape into a ball and place in a lightly greased bowl. Cover and let rise in a warm spot until doubled, about 1–1.5 hours. If your kitchen is cool, allow extra time.
Chill for easier handling (optional but helpful). For cleaner cuts and a slower, more flavorful rise, refrigerate the dough for 1–2 hours or overnight.
Cold dough is less sticky and holds its shape better.
Roll and cut. Lightly flour your surface. Roll the dough to about 1/2 inch (12 mm) thick. Cut donuts with a 3-inch (7.5 cm) cutter and a 1-inch (2.5 cm) center cutter for holes.
Gently gather scraps and re-roll once to avoid toughness.
Second rise. Place cut donuts on parchment squares or a lightly floured tray. Cover loosely and let rise until puffy and slightly jiggly, 30–60 minutes depending on room temp. They should look airy and leave a faint indentation when pressed lightly.
Heat the oil. In a heavy pot, heat 2–3 inches of oil to 350–355°F (175–180°C). Use a thermometer for accuracy; this is key to a clean, light fry.
Fry in small batches. Slide donuts into the oil using their parchment squares for easy transfer.
Fry 1–2 minutes per side until golden. Keep the oil temperature steady—let it return to 350°F between batches.
Drain and finish. Transfer to a rack set over a baking sheet. While warm, toss in sugar or dip in glaze. For extra shine, let glazed donuts rest 10–15 minutes to set.
Serve fresh. Yeast donuts are best enjoyed the day they’re made, ideally within a few hours.