In a large mixing bowl, combine the warm milk, sugar, and yeast. Let it sit for about 5 minutes until frothy.
In a separate bowl, whisk together the flour and salt.
Once the yeast mixture is ready, add the melted butter, eggs, and vanilla extract to it. Mix well. Gradually incorporate the flour mixture into the wet ingredients, stirring until a dough forms.
Turn the dough out onto a floured surface and knead for about 8-10 minutes until smooth and elastic.
Place the dough in a greased bowl, cover with a damp cloth or plastic wrap, and let it rise in a warm place for about 1-2 hours, or until doubled in size.
While the dough is rising, mix the hazelnut spread with the chopped hazelnuts in a bowl.
Once risen, punch down the dough and roll it out on a floured surface into a rectangle, about 16x24 inches. Spread the hazelnut filling evenly over the surface of the dough.
Starting from the short edge, roll the dough tightly into a log. Slice the log in half lengthwise to expose the filling. Twist the two halves together and place them into a greased loaf pan.
Cover the loaf pan and let the babka rise again for about 30-45 minutes. Preheat your oven to 350°F (175°C).
Brush the top of the babka with the beaten egg. Bake in the preheated oven for 30-35 minutes or until golden brown.
Allow the babka to cool in the pan for 10 minutes, then transfer to a wire rack. Dust with powdered sugar if desired before serving.