Bloom the yeast. In a mixing bowl, combine warm milk, sugar, and yeast. Stir and let it sit for 5–10 minutes until foamy.
If it doesn’t foam, the yeast may be inactive; start again with fresh yeast.
Mix the wet ingredients. Add melted butter, egg, and vanilla to the yeast mixture. Whisk until smooth.
Bring the dough together. In a large bowl, whisk 2 1/4 cups flour with salt. Add the wet mixture and stir with a wooden spoon until a shaggy dough forms.
If it’s too sticky, sprinkle in up to 1/4 cup more flour a little at a time.
Knead until smooth. Turn the dough onto a lightly floured surface and knead for 5–7 minutes until soft, elastic, and slightly tacky but not sticky. You can also use a stand mixer with a dough hook for 4–5 minutes.
First rise. Place the dough in a lightly oiled bowl, cover, and let it rise in a warm spot for about 1 hour, or until doubled in size.
Shape the donuts. Punch down the dough and roll it to about 1/2-inch thickness. Cut out rounds with a 3-inch cutter and use a small cutter (or bottle cap) for the centers.
Reroll scraps as needed. You should get 8–10 donuts plus holes.
Second rise. Place donuts and holes on parchment-lined trays. Cover lightly and let rise 20–30 minutes, until puffy.
They should look airy and slightly jiggly.
Preheat the air fryer. Heat to 350°F (175°C) for at least 3–5 minutes. Lightly spray the basket or brush with melted butter to prevent sticking.
Air fry in batches. Arrange donuts in a single layer with space between them. Lightly mist the tops with oil spray.
Air fry for 4–6 minutes, flipping halfway, until golden on both sides. Donut holes take 3–4 minutes total. Avoid overcrowding.
Make the glaze. While the donuts cook, whisk powdered sugar, 2 tablespoons milk, vanilla, and a pinch of salt.
Add more milk drop by drop until it’s smooth and pourable, like heavy cream.
Dip and set. Let donuts cool for 2–3 minutes so the glaze sets nicely. Dip the warm donuts into the glaze, letting excess drip off. Place on a rack to set.
For a thicker finish, dip twice after the first layer firms up.
Serve. Add sprinkles or a drizzle of chocolate if you like. Enjoy warm for the best texture.