For the dough:
3 cups (15 oz.) all-purpose flour, plus more for the work surface
1 tbsp. instant yeast
¼ cup (1¾ oz.) sugar
1¼ tsp. salt
1¼ cups whole milk, cold
2 tbsp. unsalted butter
For the butter square:
24 tbsp. (3 sticks) unsalted butter, cut into 1-tablespoon pieces and kept cold
2 tbsp. all-purpose flour
1 large egg, lightly beaten
To make the dough, combine 2¾ cups of the flour together with the yeast, sugar and salt in a medium bowl. Whisk together and set aside. Add the milk to the bowl of a stand mixer fitted with the dough hook. Add the dry ingredients and knead on low speed until a ball of dough forms, about 5 minutes. Cut the butter into small pieces and add them to the dough. Continue to knead until the butter is fully incorporated and the dough is smooth. The dough should form a ball and begin to clear the sides of the bowl, about 5-6 minutes more. The dough should be sticky but if the dough sticks more to the bowl than itself, add the remaining ¼ cup of flour a small bit at a time as needed. Wrap the dough in plastic wrap and refrigerate for 1 hour.
To make the butter square, toss together the butter pieces and flour on a clean work surface. Smear the butter back and forth using a bench scraper against the work surface until they have combined into a smooth, homogenous mixture. Wrap the butter mixture in plastic wrap and use the edges of the plastic to form it into a 7-inch square. Refrigerate until ready to use, at least 30 minutes.
Dust a work surface with flour. Roll the dough into an 11-inch square . Place the chilled butter square diagonally onto the dough.Fold the corners of the dough up over the butter square so that they meet in the middle and pinch the edges of the dough together to seal them. Using a rolling pin, gently tap the dough starting from the center of the dough and working outward, until the square becomes larger and the butter begins to soften.Start gently rolling the dough into a 14-inch square, being careful to make sure the work surface stays well floured and the dough is not sticking. Fold the dough into thirds to form a long rectangle.Starting from the narrow ends, fold the rectangle into thirds again to form a square. Wrap in plastic wrap and refrigerate for 2 hours.
Repeat this entire process again, tap the dough starting from the center of the dough and working outward, then rolling out to a 14-inch square. Fold the dough into thirds to form a rectangle and into thirds again to form a square, completing two more turns. Wrap tightly and refrigerate for at least 2 more hours.
To shape the croissants, line two baking sheets with silicone baking mats or parchment paper.Place the chilled dough onto the floured work surface and gently roll into a 20-inch square. (My pastry mat does not fit this size, so I worked with half of the dough at a time and made a 10- by 20-inch rectangle.)Cut each half into three rectangles and then slice each rectangle diagonally to yield 12 triangles. Working with one triangle at a time, gently stretch the dough so that the two long sides are equal in length.Cut a 1-inch slit in the base of the triangle.Fold the two corners of the slit outward and begin rolling the triangle up, gently stretching the dough as you roll. Leave the last ¼-inch of the tip unrolled.Transfer to the prepared baking sheet and fold the ends toward each other to make a crescent shape. Repeat with the remaining portions of dough.
Cover loosely with plastic wrap. Let rise at room temperature until puffy, about 45-60 minutes.
Preheat the oven to 350˚ F. Brush the shaped croissants lightly with the egg wash. Bake until the croissants 15 minutes, rotating and bake for another 6 minutes or until done. Allow to cool on a wire rack at least 15 minutes. Store airtight at room temperature for up to 2 days or wrap well and freeze. Reheat in a 300˚ F oven for 5-10 minutes.
Adapted from Annie’s Eats