Start by warming milk to about 110°F – it should feel warm but not hot when you test it with your finger, like a warm bath. Pour it into a large mixing bowl and sprinkle the yeast over top. Let it sit for about 5 minutes until it gets foamy and smells yeasty – this tells you your yeast is alive and ready to work.
Stir in the sugar, eggs, melted butter (make sure it’s not too hot), and pumpkin puree. The mixture might look a bit curdled, but don’t worry – that’s normal. Add the salt and about half the flour, stirring until it forms a shaggy dough.
Keep adding flour gradually, mixing until the dough starts pulling away from the sides of the bowl. When it gets too thick to stir, turn it out onto a floured surface. The dough will be slightly sticky but still workable.
Knead the dough for about 8-10 minutes. You’ll know it’s ready when it feels elastic and bounces back when you poke it with your finger. If it’s sticking too much to your hands, dust with a little more flour, but be careful not to add too much or your rolls will be tough.
Place the dough in a lightly greased bowl, cover with a damp cloth, and let rise in a warm spot for about 1 hour or until doubled in size. I like to put it near my preheating oven.
While the dough rises, mix your filling. Beat the softened butter with brown sugar, cinnamon, nutmeg, and ginger until it’s well combined and spreadable. Let it sit at room temperature – cold filling is harder to spread and can tear your dough.
Once doubled, punch down the dough and roll it out on a floured surface into a rectangle about 18×14 inches. The dough should be about 1/4 inch thick. Try to keep the edges as even as possible for uniform rolls.
Spread the filling mixture evenly over the dough, leaving about a 1/2 inch border along one long edge (this helps it seal when you roll it up). Use an offset spatula if you have one – it makes spreading easier.
Starting from the long edge without the border, roll the dough up tightly like a jelly roll. Keep it snug but don’t pull too hard or you’ll stretch the dough. Pinch the seam to seal it.
Using unflavored dental floss or a sharp knife, cut the roll into 12 equal pieces. I mark the roll in half, then each half in half, then each section into thirds – this gives you evenly sized rolls.
Place the rolls in a greased 9×13 inch baking pan, leaving some space between each one for rising. Cover and let rise again for about 30 minutes, until puffy. Meanwhile, preheat your oven to 350°F.
Bake for 20-25 minutes, until the tops are golden brown and the centers register 190°F on an instant-read thermometer. You can also check by gently pulling apart the center of one roll – it shouldn’t look doughy.
While the rolls cool slightly, make your frosting. Beat the softened cream cheese and butter until smooth and fluffy – any lumps now will show up in your frosting. Gradually beat in the powdered sugar, vanilla, and salt until creamy.
Spread the frosting on the rolls while they’re still warm but not hot – about 10 minutes out of the oven is perfect. The warmth will help the frosting melt slightly into all the nooks and crannies.