Add the warm milk, yeast, and sugar to the bowl of a stand mixer fitted with a dough hook attachment. If using active dry yeast, let this mixture sit for 5-10 minutes until foamy.
Add eggs, flour, vanilla, and salt to the milk mixture and mix until it forms a thick dough.
Next, add in the room temperature butter, a few cubes at a time, and keep mixing to incorporate the butter.
Turn the mixer to medium speed and keep mixing until the sticky dough strengthens and passes the windowpane test. It should pull away from the sides of the bowl. For the best gluten development and babka crumb, mix for at least 15 minutes. The dough should feel very soft but strong.
Shape the dough into a ball on a lightly floured work surface, then place it into a lightly oiled bowl. Cover the bowl with a lid or plastic wrap and let it proof in a warm place until doubled in size.
Overnight fridge proof - The dough can rise further in the refrigerator for extra flavor before being shaped. This is an optional step. Let the dough rise at room temperature for an hour, then cover it tightly and place it in the refrigerator for 8-16 hours. The chilled dough will be stiff the next day, but it will loosen up when shaping it.