In a large bowl or stand mixer, stir together the flour, sugar, yeast, and salt. TIP: tap the “metric “ button in my recipe card to see weight measurements.
In another bowl, mix the warm milk, melted butter, and eggs.
Add the milk mixture to the dry ingredients and stir it together to form a shaggy dough.
Knead until the dough is smooth and elastic, about 7-10 minutes by hand or 3-4 minutes with a stand mixer with a dough hook attached. The dough will initially be sticky; refrain from adding more flour as it will absorb moisture while resting.
Let the dough rise in a greased, covered bowl in a warm place for about 30-45 minutes.
Mix the brown sugar and cinnamon in a bowl.
Roll out the dough on a floured surface into a 12x16-inch rectangle.
Spread the softened butter over the dough, then evenly sprinkle with the brown sugar-cinnamon mixture.
Roll the dough tightly from the long edge and cut into 8 even slices.
Cover the slices with plastic wrap and let them rise again for about 2 hours, or until doubled in size.
Preheat the oven to 350°F (175°C). Just before baking, pour ¼ cup of milk into the bottom of a greased 9x13-inch baking pan. Place the risen rolls in the pan.
Remove the plastic wrap and bake for 30-40 minutes, covering with foil or parchment after 20 minutes to prevent over-browning. Bake until golden brown and the outer rolls reach 190ºF with a meat thermometer.
Let the rolls cool in the pan for 10 minutes.
Beat the cream cheese, butter, powdered sugar, vanilla, and a pinch of salt in a bowl until smooth.
Spread the frosting on warm buns for a melty, gooey frosting, or wait until completely cool if you prefer frosting not to melt.
