Add 1 cup (125g) of the flour to a large bowl (or the bowl of a stand mixer with standard mixer tool attached) with the sugar, salt and yeast and mix well. Set aside.
Add the milk and butter to a small saucepan over a high heat until milk is warm (125°F/50°C) and butter is softened (it does not have to be completely melted).
Slowly add the milk mixture to the flour mixture; mixing constantly.
Add the two eggs and ½ cup (60g) of the remaining flour and beat it in well.
Add the remaining flour gradually in ½ cup (60g) increments, beating each addition in well. Keep mixing until the dough has pulled together.
Tip the dough onto a lightly floured work surface and knead well for about 7 minutes until you feel the dough have more elasticity - aka the gluten developing. (Or use the dough hook in a stand mixer for approx 5 minutes).
Lightly oil a large bowl and put the dough in and turn it to coat with oil. Cover with a damp tea towel and let rise in a warm place until doubled in size (about 1 hour).
Gently push the dough down to deflate, turn out of its bowl onto a lightly floured surface, and divide into 2 and pat into rounds. Cover and allow to rest for 15 minutes.
Roll each round into a long rope about 3 feet long (it will be about 1.5 inches thick).
Pinch one end of each rope together and loosely twist to form a long braid/plait (as it rises the gaps will reduce).
Preheat the oven to 350°F / 180°C. Line a baking tray with baking paper (or lightly butter the tray).
Form the braided dough into a large round on the prepared baking tray and pinch the ends together. Nestle the raw eggs between the twisted ropes. Cover with a damp tea towel and let rise for 30 minutes.
For the glaze, whisk the egg and milk together. Gently brush over the dough (not the eggs), taking care not to go right to the base or you’ll ‘glue’ the bread to the pan/baking paper as it bakes.
Bake for 30 minutes or until golden and a thermometer in the centre reads approx 185°F /85°C.