Warm the milk in a saucepan or microwave for about 40–50 seconds. The milk should feel warm but not hot, between 105°–115°F. Stir the yeast into the warm milk until fully dissolved and let it sit for about 10 minutes until slightly foamy. This step helps ensure your cinnamon rolls from scratch rise properly.
In a stand mixer fitted with the paddle attachment, combine the bread flour, salt, and sugar. Mix briefly. With the mixer running on low speed, add the melted butter, egg, and yeast mixture. Continue mixing for about 2 minutes until a soft dough begins to form.
Switch to the dough hook and knead on medium-low speed for about 5 minutes, until the dough becomes smooth and elastic. Increase the speed slightly and knead for 2 more minutes. If the dough feels too sticky, add a small amount of flour at a time until it becomes soft but manageable. Using bread flour helps create tender bread flour cinnamon rolls with a fluffy texture.
Transfer the dough to a lightly greased bowl. Cover with plastic wrap and a warm towel, then allow it to rise in a warm place for 1–2 hours, or until doubled in size.
While the dough rises, mix the brown sugar and cinnamon together in a small bowl. Grease a 13 x 9-inch baking pan or a 9.5-inch round pan with butter.
Once the dough has doubled in size, place it on a lightly floured surface and roll it into a 14 x 12-inch rectangle. Spread the softened butter evenly over the surface using your fingers or a knife. Sprinkle the cinnamon sugar mixture over the butter and gently press it down so it sticks.
Starting from the top edge, roll the dough tightly toward you into a long log. Roll slowly and evenly to keep the shape neat. Pinch the seam closed and turn the log so the seam is underneath. Slice into 12 equal pieces, about 1 inch thick, and arrange them in the prepared pan.
Cover the pan and let the rolls rise again in a warm place for about 45 minutes, or until doubled in size. This second rise is important for creating soft and gooey cinnamon rolls.
Preheat the oven to 350°F. Bake the rolls for 20–25 minutes, until golden brown and fully cooked in the center. They should no longer look doughy.
While the rolls cool slightly, prepare the cream cheese frosting by beating the softened cream cheese, butter, and vanilla together until smooth and creamy. Add the powdered sugar gradually, mixing well after each addition, until the frosting is fully combined and smooth.
Spread the cream cheese frosting over the warm homemade cinnamon rolls and serve.