Make the dough: into a bowl of a stand mixer place flour, sugar, yeast and salt. Mix.
Make a well in the center and add milk, eggs, and melted butter. Using the hook attachment, knead the on medium speed until soft and smooth dough forms, about 4-5 minutes.
Place the dough in a lightly oiled bowl, cover and let rise until doubled in size, about 1 hour.
Make the coating: in a bowl mix sugar and cinnamon. Set aside.
Make caramel sauce: in a sauce pan combine sugar and water, heat over medium heat until sugar dissolved and turns thick brown, amber-colored liquid (do not stir). Be careful not to burn. Once sugar is completely melted and reached a deep amber color, remove the saucepan from heat. Immediately pour heavy cream (Be careful, as the caramel will bubble up) and whisk until all the cream has been incorporated and you have a smooth sauce. Add butter, stir until melted.
Shape the dough: Punch the dough down to release air, transfer to a lightly floured surface and divide the dough into small pieces. Roll each piece into a ball, then roll each ball in sugar cinnamon mixture.
Grease a Bundt cake pan and pour 2-3 tablespoons of the caramel sauce to the bottom of the pan. Arrange 1/3 of the balls in the pan, pour 2-3 tablespoons of the caramel sauce, arrange another 1/3 of the dough balls, pour another 2-3 tablespoons of the caramel sauce, arrange he last third and pour another 2-3 tablespoon of the caramel sauce on top. Cover and let rise for 20 minutes, or until doubled in size.
Preheat oven to 350F (180C).
Bake for 30 minutes, until golden brown on top.
Cool for 5 minutes, then invert onto a serving plate or cake stand. Release from the pan and drizzle as much caramel sauce as you like on top of the cake and serve warm.