Melt the butter and sugars together over medium heat in an oven-safe pan.
Once the butter has melted, mix in the orange juice (or milk). Bring the mixture to a boil; stir until the sugar is dissolved and the mixture thickens about 5 minutes.
Mix in the spices, orange zest (if using), vanilla, and a pinch of salt. Add the sweet potatoes and coat well with the sauce.
Bake or cook on medium-low heat on the stove for 1 hour to 1 hour 15 minutes, stirring occasionally, or until the sweet potatoes are tender and the liquid is thick and syrupy.
Video
Notes
To make this recipe with a Marshmallow topping, just follow the recipe, then before serving, top with three cups of miniature marshmallows, and put them under the broiler just long enough to toast the marshmallows. Watch close - it happens fast!!
Tips
Cut your potatoes into similar-sized pieces for even cooking.
The sauce will thicken as it cools. If it doesn't thicken to your liking, remove the sweet potatoes and cook the sauce on the stove until it thickens.