Combine the warm (110°F) milk with yeast, sugar, and two cups of flour. Whisk the ingredients together. Cover the bowl with a towel and set it aside in a warm place for about 30 minutes.
In a separate bowl, whisk the eggs together. Add eggs, vanilla extract, and melted butter to the dough mixture. Whisk in the remaining flour in small portions.
Knead the dough by hand or in a stand mixer until it becomes elastic. This will take about 10-15 minutes. Cover the dough and let it rise for about an hour.
Remove the dough from the bowl and divide it into two even pieces. Next, divide each piece into three pieces. Roll each piece out into a long rope. Connect the ends of the ropes together and braid them.
Place braided brioche on a lined baking sheet, cover it with a towel, and let it rise for 30 minutes. In a small bowl, whisk the eggs and water to create the egg wash. Brush the brioche with the egg wash.
Bake the brioche at 350°F for about 30 minutes or until the bread is golden brown.