Mix the warm water, yeast, warm milk and sugar in a bowl. Let it stand for 5 mins until it becomes frothy – this is how you know the yeast is working.
Tip the flour and 1 tsp salt into a large mixing bowl, add the butter and rub together with your fingertips until the mixture resembles fine breadcrumbs.
Make a well in the centre of the buttery flour and add the warm yeast mixture and the eggs.
Use your hands to mix it into a sticky dough – don’t worry if the mixture feels a little wet at this stage, it will come together when kneading. Tip the dough out onto a floured work surface.
Knead the dough for 10 mins by stretching it on the work surface – it will still be very sticky at this stage but don’t be tempted to add too much flour.
The dough is ready when it feels soft and bouncy – this means that the gluten strands have developed. Place in an oiled bowl, cover with cling film and set aside to rise for 1-3 hrs or until doubled in size.
Once the dough has doubled in size, knock the air out and knead again for 2 mins. The dough should be much less sticky now, but add a little flour if it needs it.
Divide the dough into 12-16 even pieces. Roll into balls and arrange on lined baking trays. Loosely cover with oiled cling film and leave for about 1 hr or until doubled in size again. Heat oven to 200C/180C fan/gas 6 and place a shallow baking tray at the bottom.
Uncover the trays, brush the buns with egg and sprinkle with sesame seeds. Pour a cup of water into a baking tray at the bottom of the oven to create steam (see Tips for success, left). Bake for 20 mins or until golden, then leave to cool on a wire rack.