Pour the warm milk into a large bowl. Stir in the yeast and let sit for 5–10 minutes, until the mixture becomes foamy.
In the bowl of a stand mixer, combine the granulated sugar, softened butter, eggs, salt, and flour.
Add the milk and yeast mixture. Using the dough hook, mix until a soft dough forms and pulls away from the sides of the bowl.
Transfer the dough to a lightly greased bowl. Cover and let rise in a warm place for about 1 hour, or until doubled in size.
Lightly grease a 9x13-inch baking dish.
In a small bowl, stir together the brown sugar and cinnamon for the filling.
Turn the dough onto a lightly floured surface and roll it into approximately a 16x21-inch rectangle.
Spread the softened butter evenly over the dough. Sprinkle the brown sugar and cinnamon mixture evenly over the butter.
Starting with one long side, tightly roll the dough into a log.
Cut the log into 12 equal rolls using a sharp knife or unflavored dental floss.
Arrange the rolls in the prepared baking dish. Cover and let rise for about 30 minutes, or until noticeably puffy.
Preheat the oven to 350°F.
Bake for 18–20 minutes, or until the cinnamon rolls are lightly golden and cooked through.
While the rolls bake, prepare the frosting. Beat the softened cream cheese, butter, powdered sugar, vanilla extract, and salt until smooth and creamy.
Spread half of the frosting over the cinnamon rolls while they are still warm.
Let the rolls cool for 10–15 minutes, then spread the remaining frosting over the top.
Serve warm.
Notes
Make sure the yeast is fresh and not expired for the best rise.The milk should be warm, about 105–110°F, but not hot. Milk that is too hot can kill the yeast.For overnight cinnamon rolls, cover and refrigerate the shaped rolls before the second rise. Let them sit at room temperature while the oven preheats, allowing additional rising time as needed before baking.Store leftover cinnamon rolls covered in the refrigerator for up to 1 week. Reheat individual rolls in the microwave for about 20–30 seconds before serving.