Prepare the dough: Whisk the warm milk, yeast, and sugar together in the bowl of your stand mixer fitted with a dough hook or paddle attachment. Cover and allow to sit for 5 minutes.
Add the eggs, butter, salt, and 1 cup flour. Beat on low speed for 30 seconds, scrape down the sides of the bowl with a rubber spatula, then add the remaining flour. Beat on medium speed until the dough comes together and pulls away from the sides of the bowl, about 2 minutes. *If you do not own a mixer, you can mix this dough with a large wooden spoon or rubber spatula. It will take a bit of arm muscle!*
Knead the dough: Keep the dough in the mixer and beat for an additional 2 minutes or knead by hand on a lightly floured surface for 2 minutes.
1st Rise: Lightly grease a large bowl with oil or nonstick spray. Place the dough in the bowl, turning it to coat all sides in the oil. Cover the bowl with aluminum foil, plastic wrap, or a clean kitchen towel. Allow the dough to rise in a relatively warm environment for 1-2 hours or until double in size. (I always let it rise on the counter. Takes about 2 hours.
Generously grease a 10-12 cup Bundt pan with butter or nonstick spray. (Nonstick spray is best for this recipe.)
Prepare the coating: Melt 1/2 cup (115g/1 stick) of unsalted butter in a medium bowl. Mix granulated sugar and cinnamon together in another medium bowl. You will use the rest of the butter, brown sugar, and vanilla later.
Shape the dough: Use the video tutorial below as a guide for this step. When the dough is ready, punch it down to release the air. Working one at a time, take small pieces of dough and roll into balls (about 1¼ inches in diameter each). You will need 40-45 balls total, so be modest with their size. Dip each ball, one by one, in the melted butter and then generously roll in the cinnamon-sugar mixture to coat them. You may need more cinnamon-sugar depending how heavy you coat each ball. Arrange the balls in the Bundt pan as you go. Cover the pan with aluminum foil, plastic wrap, or a clean kitchen towel and allow the shaped monkey bread to rest for 20 minutes. The balls will slightly rise during this time.
Adjust oven rack to a lower position and preheat oven to 350°F (177°C). (It’s best to bake the monkey bread towards the bottom of the oven so the top doesn’t burn.)
Finish the coating: Melt remaining 4 tablespoons (60g) butter, then whisk in the brown sugar and vanilla extract. Pour evenly all over the shaped monkey bread.
Bake for 35-45 minutes or until golden brown on top. Cover loosely with foil if the top is browning too quickly. Cool for 5-10 minutes, then invert onto a large serving plate or cake stand.
Make the icing: Whisk all of the icing ingredients together. Drizzle over monkey bread. Cut the bread into generous slices or let everyone pick off the gooey pieces themselves. That’s the fun of this treat!
Monkey bread tastes best served on the same day. Cover leftovers tightly and store at room temperature for 1 day and in the refrigerator for up to 4 days.