Make the Pastry Cream (Do This First):
- In a medium saucepan, heat the milk over medium heat until it just begins to steam and small bubbles form around the edges. Do not boil.
- Meanwhile, whisk together egg yolks, sugar, and cornstarch in a medium bowl until smooth and pale yellow, about 2 minutes.
- Slowly pour about ½ cup of the hot milk into the egg mixture, whisking constantly to temper the eggs. Then pour the egg mixture back into the saucepan with the remaining milk, whisking constantly.
- Cook over medium heat, whisking constantly, until the mixture thickens and comes to a boil, about 3-5 minutes. Let it boil for 1 minute while continuing to whisk.
- Remove from heat and whisk in butter and vanilla extract until smooth. Strain through a fine-mesh sieve into a clean bowl to remove any lumps.
- Press plastic wrap directly onto the surface of the pastry cream to prevent a skin from forming. Refrigerate for at least 2 hours until completely chilled.
- Before using, whip the cold heavy cream to stiff peaks and gently fold it into the chilled pastry cream for an extra-light filling. Transfer to a piping bag fitted with a round tip.
Make the Donut Dough:
- In the bowl of a stand mixer, combine 1 cup flour, sugar, and yeast. Add the warm milk and stir to combine. Let stand for 5 minutes until foamy.
- Add eggs, butter, salt, and vanilla extract. Mix on low speed until combined.
- Gradually add remaining 2 ¾ cups flour, mixing on low speed until a soft dough forms. Increase to medium speed and knead for 5-7 minutes until the dough is smooth and elastic (it should be slightly sticky but pull away from the sides of the bowl).
- Place dough in a greased bowl, cover with a clean kitchen towel, and let rise in a warm place for 1-1.5 hours, or until doubled in size.
Shape and Fry the Donuts:
- Gently punch down the dough and turn it out onto a lightly floured surface. Roll to about ½-inch thickness.
- Using a 3-inch round cutter, cut out circles. Place them on parchment-lined baking sheets, spacing them 2 inches apart. Cover with towels and let rise for 30-45 minutes until puffy.
- Heat oil in a large, heavy-bottomed pot to 350°F (use a thermometer to monitor temperature).
- Carefully add 2-3 donuts at a time to the hot oil. Fry for 1-2 minutes per side until golden brown. Don’t overcrowd the pot.
- Remove with a slotted spoon and drain on a wire rack set over paper towels. Let cool completely before filling.
Make the Chocolate Ganache:
- Place chocolate chips in a heat-proof bowl. Heat heavy cream in a small saucepan until it just begins to simmer.
- Pour hot cream over chocolate chips and let sit for 1 minute. Add butter and corn syrup (if using), then whisk until smooth and glossy.
Assemble the Donuts:
- Using a skewer or chopstick, poke a hole in the side of each cooled donut and wiggle it around to create a pocket for the filling.
- Insert the piping bag tip into each hole and pipe pastry cream until you feel slight resistance (the donut will feel heavier and slightly fuller).
- Dip the top of each filled donut into the chocolate ganache, allowing excess to drip off. Place on a wire rack and let the chocolate set for 10-15 minutes.
- Serve immediately or store properly. These are best enjoyed within 24 hours!