Activate the Yeast: In a small bowl, mix warm milk and sugar. Add yeast, stir, and let sit for 5-10 minutes until foamy. This ensures your yeast is active and will help your dough rise properly.
Make the Dough: In a stand mixer or large bowl, combine the flour and salt. Add the yeast mixture, eggs, and softened butter. Mix until a dough forms, then knead for 8-10 minutes (or 5 minutes in a stand mixer with a dough hook) until smooth and elastic.
Let the Dough Rise: Place the dough in a greased bowl and cover with a damp cloth. Let it rise for 1–1.5 hours or until it doubles in size.
Prepare the Filling: While the dough is rising, toast the chopped hazelnuts (if using) in a dry skillet over medium heat until fragrant, about 5 minutes. Set aside.
Shape the Babka: Punch down the dough, then roll it out on a floured surface into a 10x14 inch rectangle. Spread a generous layer of chocolate hazelnut spread over the dough, leaving about 1-inch borders. Sprinkle toasted hazelnuts and cocoa powder if desired.
Roll and Cut: Starting from the long edge, roll the dough tightly into a log. Slice the log lengthwise, then twist the two halves together, creating a beautiful swirl pattern. Place it in a greased baking pan.
Let it Rise Again: Cover the pan and let the babka rise for another 30 minutes, allowing it to puff up before baking.
Bake the Babka: Preheat the oven to 350°F (175°C). Brush the top of the babka with the egg wash (1 beaten egg mixed with 1 tbsp water). Bake for 30–35 minutes or until golden brown.
Cool and Serve: Allow the babka to cool for 10–15 minutes in the pan before transferring it to a wire rack. Slice and enjoy the sweet, decadent chocolate hazelnut goodness!