Line a 9”x 13” baking dish with parchment paper. Set aside.
In a large microwave-safe bowl, heat milk for 30-40 seconds until lukewarm (between 98℉ and 105℉). Add yeast and sugar, stirring with a whisk until dissolved. Cover with a clean dishtowel and let the yeast proof for 10 minutes.
While the yeast is proofing, make the filling. Combine softened butter, brown sugar, granulated sugar, cinnamon, and vanilla in a medium mixing bowl. Set aside.
After the yeast has proofed, continue making the dough by whisking in the melted butter, egg, and vanilla until fully combined.
Add salt and flour, one cup at a time, to the wet mixture. Knead slightly until the dough forms a ball. Cover the bowl with a clean towel or plastic wrap and let the dough rest for 10 minutes.
Lightly flour a surface and a rolling pin. Roll the cinnamon roll dough out to a 14” x 18” rectangle, about ¼” thick.
Spread the filling mixture over the entire surface of the dough.
Starting at the short side, roll the dough up tightly. Use a serrated knife to cut the dough into 12 rolls.
Place the rolls in the prepared pan, cut-side down. Cover with a clean dish towel and let the dough rise for about 50 minutes in a warm place.
Preheat the oven to 350℉. Drizzle the tops of the rolls with heavy cream. Bake for 24-26 minutes until the tops are slightly golden brown. Cool the rolls slightly before frosting.
In a small bowl, mix softened cream cheese, powdered sugar, vanilla extract, and a pinch of salt with a hand mixer until smooth.
Frost the top of the cinnamon rolls with homemade cream cheese icing and serve warm!