In a large bowl—or in the bowl of a stand mixer fitted with a dough hook—stir together the warm milk, granulated sugar, and yeast. Let the mixture sit for about 5 minutes, or until it becomes foamy and activated.
Add the remaining dough ingredients and mix on low speed until everything starts to come together. Increase the speed to medium-low and knead for 8–10 minutes, until the dough is tacky but not sticky and springs back when gently pressed.
Lightly grease a large bowl with oil, place the dough inside, and cover it with plastic wrap or a clean towel. Let the dough rise in a warm place (around 75°F) until it doubles in size—about 1½ to 2 hours.
While the dough is rising, lightly butter or spray a 9x13-inch baking dish and set it aside.
Once the dough has risen, transfer it to a floured surface and roll it into a rectangle roughly 12x24 inches.
For the Filling:
Spread softened butter evenly over the surface of the dough, leaving about a ½-inch border along one of the long edges. (Tip: If the butter is too firm, microwave it in short bursts—5 seconds at a time—until it’s easy to spread.)
In a small bowl, mix the granulated sugar and cinnamon together. Sprinkle the mixture evenly over the buttered dough.
Cut the dough into 12 even strips (about 2 inches wide) using a pizza cutter or sharp knife. Roll each strip up tightly into a swirl.
Arrange the rolls cut-side down in the prepared baking dish, spacing them evenly. Cover loosely and let rise in a warm place until nearly doubled in size—about 1 hour.
While the rolls are rising, preheat the oven to 350°F.
Bake the rolls for 20–25 minutes, or until golden brown on top. Remove from the oven and place the pan on a wire rack to cool slightly.
For the Frosting:
While the rolls are baking, beat together the cream cheese, butter, vanilla extract, and a pinch of salt in a medium mixing bowl until smooth and fluffy. Sift in the powdered sugar and mix on low speed until fully incorporated. For a thinner consistency, add 1–2 tablespoons of milk and mix again.
As soon as the rolls come out of the oven, spread about one-third of the frosting over the warm rolls. Let them sit for 5 minutes, then add the remaining frosting on top. These are best served warm but can be covered and stored at room temperature for up to 2 days.
Overnight Option:
Want to prep ahead? After rolling and shaping the cinnamon rolls, place them in the greased baking dish, then cover tightly with plastic wrap and refrigerate for up to 18 hours. The cold overnight rest will allow the rolls to rise slowly in the fridge—no second rise needed the next day. When ready to bake, take the pan out of the refrigerator and let it sit at room temperature for about an hour before baking as usual.