To make the dough, pour milk into a microwave-safe measuring cup.
1 cup whole milk
Microwave in 30-second intervals until it reaches about 110-115 degrees F. (If it gets too hot, let it sit on the counter for a few minutes to come down in temperature)
Add warm milk, granulated sugar, and yeast to the bowl of your stand mixer. Use a fork to lightly stir it all together. Let sit for 5 minutes for yeast to bloom.
1/2 cup granulated sugar, 2 ¼ teaspoons instant rise yeast
Add eggs, ½ cup melted butter, 1 teaspoon orange zest, and 1 teaspoon vanilla extract. Use the fork again to lightly beat the eggs.
2 large eggs
Pour in 3 cups flour and ½ teaspoon salt. Use a paddle attachment on your stand mixer to combine the ingredients. Continue to add flour 1/4 cup at time until the dough clings to the paddle.
Switch to the dough hook. With the dough hook, knead the flour into the liquid ingredients until combined.
Continue to knead with the dough hook for another 8-10 minutes, or until the dough forms a ball and pulls away from the sides of the bowl. You may need to add slightly more flour as the dough kneads, but you'll only want to add enough for the dough clean the sides of the bowl. The dough should feel soft and slightly sticky but shouldn't come off on your finger if pinched.
Grease a clean bowl lightly with oil. Remove dough from the mixing bowl and place it in the greased bowl, turning to coat in oil on all sides.
Cover with a clean kitchen towel and set in a warm place to rise for 45 minutes.
Preheat oven to 350F. Grease a 9x13 inch baking dish with nonstick spray.
In a medium bowl, add ½ cup granulated sugar and 1 tablespoon orange zest. Use your hands to rub the orange zest into the sugar to release the oils.
In a separate bowl, add 6 tablespoons butter. Microwave for about 10-15 seconds to soften the butter without melting it. Set aside.
Lightly flour a clean surface and roll the dough out into a rectangle until it’s about ½ an inch thick.
Spread the softened butter all over the dough and sprinkle the orange sugar mixture on top.
6 tablespoons unsalted butter
Working from the longer side of the rectangle, cut 12 2-inch strips out of the dough.
Roll each strip tightly into itself to create a “cinnamon” roll.
Place the rolls, swirl-side up, in the greased baking dish.
Cover with the same clean dish towel and allow to sit in a warm place for another 20-30 minutes.
While waiting for the rolls to rest, clean the bowl of your stand mixer.
Beat together cream cheese and ¼ cup butter with the paddle attachment. Add in powdered sugar, ½ teaspoon vanilla, and ¼ teaspoon salt. Beat again until smooth and creamy. Set aside.
Bake orange rolls for 40-50 minutes, or until baked in the center and golden brown on top. If the rolls are browning too quickly, tent with foil.
Remove from the oven and let cool for about 10 minutes.
Spread frosting on top of warm rolls.
For decoration, add additional orange zest over top.
Notes
Whole milk: Whole milk helps to make the dough rich and soft. You can use 2% milk for a leaner dough.
Yeast: To use active dry yeast, substitute an equal amount of yeast.
Butter: If you’re using unsalted butter, you will need to adjust the salt in the dough and add a pinch or two of salt to the filling and to the frosting.
Kosher salt: Sea salt makes a good substitute for the kosher salt. You'll need to use half the amount of table salt if using table salt.
Cream cheese: I recommend using full-fat or 1/3-less fat cream cheese for the frosting. Fat-free cream cheese doesn’t blend well and won’t give you rich, creamy frosting.