01 - Combine flour, sugar, yeast, and salt in a large bowl or stand mixer. Add warm milk, eggs, vanilla, and softened butter. Mix to form a soft dough, then knead for 8–10 minutes until smooth and elastic. Place in a lightly greased bowl, cover, and let rise until doubled in size, about 1 to 1.5 hours.
02 - Punch down the risen dough and roll out to 3/4-inch thickness on a floured surface. Cut out rounds using a 3-inch round cutter. Place rounds on parchment-lined trays, cover loosely, and let rise for another 30–45 minutes.
03 - Heat milk in a saucepan until steaming but not boiling. Whisk egg yolks, sugar, and cornstarch in a bowl until pale and smooth. Slowly pour hot milk into the yolk mixture while whisking continuously. Return mixture to saucepan and cook over medium heat, whisking constantly, until thickened, about 2–3 minutes. Remove from heat, whisk in vanilla and butter until smooth. Cover with plastic wrap touching the surface and chill until ready to use.
04 - Heat oil in a large, heavy pot to 350°F. Fry 2–3 donuts at a time for 2–3 minutes per side until golden brown. Transfer to paper towels. While warm, roll in granulated sugar to coat evenly.
05 - Once cooled, poke a hole in the side of each donut with a small knife or piping tip. Fill a piping bag with chilled pastry cream and pipe generously into each donut until filled.