To the bowl of a stand mixer fitted with a dough hook, add the warm milk, instant yeast and sugar. Check to make sure the yeast is activating. It will look a little bubbly and smell yeasty within a minute or two. Add the salt and cold eggs.
With the dough hook running, begin adding the flour a cup at a time into the mixer. Depending on the size of your eggs, you will need a little more or less flour. The dough should be a little sticky and clear the sides of the mixing bowl. Mix well until all the flour is incorporated. Knead for 5 minutes.
While the mixer is kneading, cut the butter into Tablespoon-sized chunks. Butter should be cool but soft, so when you stick your finger into it, it leaves an indentation.
Add the butter a cube at a time into the mixer, trying to place the butter right near the dough hook in the center of the bowl. Continue mixing throughout this process. Once all the butter has been added, knead the dough for 15-20 minutes.
As the dough kneads, the butter will incorporate into the dough and the dough will become glossy and smooth. It will also be sticky and a little wet looking.
Continue kneading the dough on medium speed until the dough passes the windowpane test. To check for windowpane: Stop the mixer. Take your hands and pull up on a portion of the dough. At the beginning stages of kneading the dough, the dough will break as soon as your start to stretch it. As the dough kneads and the gluten strands develop, the dough will stretch thinly without tearing. You will know the dough is finished kneading when the dough does not tear when pulled and you can see light through the dough, like a windowpane.
Transfer the dough to a large bowl (with enough room for the dough to double in size in the fridge). Cover the bowl with plastic wrap and stick in the fridge overnight or at least 8 hours to rise. You can leave the dough in the fridge for up to 2 days.
Day 2
Pull the dough out of the fridge. Lightly flour a countertop surface and turn the brioche dough out onto the floured surface.
Cut the dough in half and set one half to the side for the second loaf. Prepare two loaf pans (my favorite here, affiliate link). Line with parchment paper if your pans are not non-stick.
Shape the brioche as desired; braided, into balls or twisted into a swirled loaf.
Cover the loaves and let rise in a warm place (not hot or the butter in the dough will melt). I like to choose a window or place the dough under a light to rise. Let brioche rise for about 3 hours until puffed up and doubled in size. Do not bake the brioche until it has fully proofed.
Preheat the oven to 400ºF. In a small bowl, crack an egg. Add a teaspoon of water and whip together with a fork. Use a pastry brush to brush the egg wash gently over the risen brioche.
Bake for 10 minutes at 400 degrees. After 10 minutes, reduce the temperature to 350 degrees and bake for another 30-35 minutes. Check on the brioche in the middle of baking. If it is browning too quickly, cover the tops of the loaves with a piece of foil to prevent further browning.
Brioche should bake until the internal temperature registers 190-195ºF. Allow the loaves to cool before slicing into them. Enjoy!
Notes
Mixer: This recipe for easy overnight brioche needs a stand mixer. It will be very difficult to reach the windowpane needed without one. Looking for a sourdough version of brioche? Check it out here.