Make the Dough: In the bowl of an electric mixer fitted with the dough hook attachment, stir together yeast and milk; let stand until yeast is dissolved, about 1 minute. Add the flour, sugar, salt and eggs; mix on low speed until the dough comes together, about 3 minutes. Add the butter, two pieces at a time, mixing after each addition and until butter is fully incorporated and dough is soft, a total of 5 to 6 minutes. Remove the dough from the bowl and wrap tightly with plastic wrap. Refrigerate at least 6 hours and up to 15 hours.: The bowl will hum faintly as the mixer pulls the ingredients together, and you should notice a tacky but cohesive mass forming, with a warm yeasty aroma emerging from the yeast and milk . Mixing slowly preserves air pockets while hydrating the all-purpose flour , which leads to a tender interior after frying. When adding the butter in pieces, look for a silkier, smoother dough surface, and listen for a slight change in the mixer sound as the fat becomes fully incorporated. If you overmix, the dough may grow tight and resist rolling, so stop once it is soft and elastic. A common mistake is adding too much extra flour while handling; instead, use just enough to prevent sticking.
Make the Pastry Cream: While the dough is chilling, make the pastry cream. In a small bowl, whisk together the sugar, flour and salt. In a medium bowl, whisk together the egg yolks until well combined, about 30 seconds. Slowly whisk in the flour mixture until thick and pasty. In a medium saucepan over medium heat, warm the milk until bubbles just start to form around the edges (do not let the milk boil).: As you whisk the granulated sugar , cake flour , and salt , the dry blend should look pale and even. This helps distribute stabilizers so the pastry cream thickens uniformly. The texture matters because clumps can cause uneven cooking when the mixture meets warm milk. If the dry mixture feels gritty, whisk a bit longer to aerate and break up any lumps. Avoid pouring hot milk onto yolks too quickly, which risks scrambling.
Remove the milk from the heat and slowly drizzle into the egg mixture, whisking constantly. Scrape the egg mixture back into the saucepan and place over medium heat, whisking constantly until the mixture thickens and comes to a boil, about 3 minutes. Boil, whisking, for 10 seconds (the cream will become thick and glossy and won’t have any foam on top), then immediately remove from heat.: Whisking the egg yolks until smooth introduces lightness and prevents streaks when you add the flour mixture. The yolks should become slightly paler and smoother, which signals they are ready to accept the thicker paste. When you drizzle in warm milk, maintain a steady stream and constant whisking so the yolks temper rather than cook. A mistake here is rushing the tempering, which yields curdled bits in the final cream.
Pour the pastry cream through a fine mesh sieve set over a small bowl and whisk in the vanilla. Cover with plastic wrap, pressing the plastic wrap against the surface of the pastry cream to prevent a skin from forming. Refrigerate until chilled, at least 4 hours and up to 3 days.: As you warm the larger portion of whole milk over medium heat, watch for tiny bubbles forming at the edges; that is your visual cue to remove the milk from direct heat for tempering. This gentle heating extracts sweetness and sets the stage for a glossy finish. Letting the milk reach a full boil can create a cooked milk flavor and risks scalding, so be attentive and remove from heat at the first sign of bubbling.
Prepare the Doughnuts: Line a baking sheet with parchment paper and spray lightly with non-stick cooking spray; set aside. Place the refrigerated dough on a well-floured work surface and gently roll into a 12-inch square (it should be about 1/2-inch thick). Cut the dough into 9 doughnuts using a 31/2-inch round cutter. Transfer the doughnuts to the prepared baking sheet, cover with a piece of plastic wrap that has been sprayed with non-stick cooking spray, and place in a warm spot until they’ve doubled in height and feel poufy and pillowy, 2 to 3 hours.: After combining tempered yolks and milk, returning the mixture to medium heat will produce audible thickening as it moves across the pan, and you will see it go from loose to a pudding like body. Boiling briefly, about 10 seconds, creates a shiny, stable pastry cream; you will notice the surface smooth out and foam diminish. Constant whisking prevents scorching and yields a uniform density. If the cream seems grainy, strain it immediately through a fine mesh sieve to remove any cooked bits.
Fry the Doughnuts: Fill a large, heavy-bottomed pot with 3 inches of oil and place over medium-high heat until it reaches 350 degrees F on a deep-fry thermometer. While the oil heats, line a baking sheet with a double layer of paper towels for draining the doughnuts. Place the sugar in a small bowl and set aside.: Poured through a sieve and kissed with vanilla extract , the pastry cream should be covered with plastic pressed to the surface to stop a skin from forming, which keeps texture silky. Chilling for at least four hours firm but still pliable cream, which makes folding in whipped heavy cream easier. Skipping this chill stage can make filling messy because warm cream will be too loose to hold shape.
Working with three doughnuts at a time, carefully lower the doughnuts into the hot oil and fry until golden brown on the underside, 2 to 3 minutes. Carefully turn the doughnuts over and fry for an additional 2 to 3 minutes, or until the other side is golden brown as well. Using a slotted spoon or a spider strainer, remove the doughnuts to the paper towel-lined baking sheet. Repeat with the remaining doughnuts.: On a well floured surface, rolling the refrigerated dough into a uniform square produces dough with even thickness; you are aiming for about a half inch so the interior cooks through during frying. The tactile feel should be slightly springy yet soft, not sticky. Cutting nine doughnuts using a 3 1/2 inch round cutter yields consistent sizes which fry evenly. Pressing too hard with the cutter can seal edges that should puff, so lift straight up to keep the doughnut rims tender.
As soon as the doughnuts are cool enough to handle, toss them in the sugar one at a time to evenly coat them. Return the doughnuts to the paper towel-lined pan and allow to cool completely, 30 to 40 minutes.: Arranged on a parchment lined tray and covered, the doughnuts will double and become poufy over two to three hours in a warm spot; you will notice a subtle increase in sweetness and a more open crumb as they proof. The visual cue is a soft, pillowy surface that springs back slowly when touched. Underproofed doughnuts stay dense and absorb more oil, while overproofed ones can collapse, so monitor for the right bounce.
Fill the Doughnuts: While you’re waiting for the doughnuts to cool, beat the 6 tablespoons of heavy cream on medium-high speed until still peaks form. Whisk the chilled pastry cream to loosen it up, then gently fold in one-third of the whipped cream. Fold in the remaining whipped cream until no white streaks remain.: Fill a heavy bottomed pot with three inches of canola oil and heat to 350 degrees F, watching the temperature with a deep fry thermometer for stability. When the oil reaches heat, it will shimmer slightly and small wisps of steam can rise; that indicates readiness. Keeping the temperature steady prevents greasy doughnuts and creates even browning. A common error is overcrowding the pot, which drops the oil temperature and yields soggy results.
Transfer the cream to a pastry bag fitting with a small round decorating tip (a Wilton #12 would work well for this). Poke a hole in the side of each doughnut and fill with pastry cream. The doughnuts should be served as soon as they are filled. They are best the same day they are made.: Gently lower three doughnuts at a time into the oil, and you should hear a steady, soft sizzle rather than a loud crackle; that sound means the exterior is sealing properly. Fry until golden brown on each side, about two to three minutes per side; look for an even caramel color as your visual guide. Remove with a slotted spoon and drain on paper towels to shed excess oil. If doughnuts brown too quickly, lower the heat slightly to ensure the interior cooks before the crust darkens excessively.
Coat with Sugar and Cool: While still warm enough to attract sugar, toss each doughnut in the reserved granulated sugar so the crystals adhere evenly, creating a fine, crunchy shell. Return them to the paper towel lined tray to finish cooling for about 30 to 40 minutes; the surface will set and the interior will relax. Coating when completely hot can melt the sugar into a wet sheen, and coating when cold may not allow the sugar to stick well.
Fill the Doughnuts: Whip the heavy cream to soft peaks and then fold a third into the chilled pastry cream to lighten it, creating a velvety hybrid that fills cleanly without collapsing the doughnut. Transfer to a pastry bag fitted with a small round tip, poke a hole in the side of each doughnut, and pipe in the filling until slight resistance indicates fullness. One mistake is overfilling too quickly, which can split the doughnut; fill slowly and feel for gentle give. Serve immediately for best texture and flavor.