01 - In the bowl of a stand mixer fitted with a dough hook, combine the flour, sugar, yeast, and salt. Mix briefly to distribute evenly.
02 - Add the room temperature eggs and lukewarm milk to the dry ingredients. Mix on low speed for 2-3 minutes until a shaggy, sticky dough forms.
03 - Increase mixer speed to medium and knead for 5 minutes until the dough begins to smooth out and develop some elasticity.
04 - With the mixer running on medium-low speed, gradually add the softened butter cubes, one piece at a time. Wait for each addition to fully incorporate before adding the next. Continue kneading for 10-12 minutes until the dough is glossy, extremely elastic, and cleanly pulls away from the bowl sides.
05 - Shape the dough into a smooth ball and place in a lightly buttered bowl. Cover tightly with plastic wrap and let rise in a warm, draft-free area for 1 to 1 1/2 hours until doubled in bulk.
06 - Gently press down the dough to deflate. Transfer to a lightly floured surface and divide into three equal portions. Roll each portion into a 12-inch rope and braid them together, pinching the ends to seal. Alternatively, shape into a ball and place in a buttered 9x5-inch loaf pan.
07 - Cover the shaped loaf loosely with plastic wrap or a clean kitchen towel. Let rise for 45 minutes until puffy and nearly doubled in size.
08 - Preheat the oven to 350°F with the rack positioned in the center.
09 - Whisk the egg yolk with 1 tablespoon of milk until blended. Gently brush the entire surface of the risen loaf with the egg wash, being careful not to deflate the dough.
10 - Bake for 25-30 minutes until deeply golden brown and a wooden skewer inserted into the center comes out clean. If the top browns too quickly, tent loosely with aluminum foil during the last 10 minutes.
11 - Let the brioche cool in the pan for 10 minutes, then carefully remove and transfer to a wire rack. Cool completely before slicing to prevent the crumb from becoming gummy.