Prep the oven and pan: Heat the oven to 350°F (175°C).
Grease a 9x13-inch baking dish or similar casserole dish.
Cook the sweet potatoes: Peel and cube the sweet potatoes into 1.5-inch pieces. Boil in salted water until very tender, 15–20 minutes. Drain well and let them sit in the hot pot for 2 minutes to steam off extra moisture.
Mash until smooth: Mash the potatoes until creamy.
A potato masher works, but for extra-smooth texture, use a hand mixer on low. Avoid overmixing to prevent gumminess.
Build the base: Stir in melted butter, brown sugar, warmed milk, eggs, vanilla, cinnamon, nutmeg, and salt. Taste and adjust sweetness or spices.
The mixture should be silky and lightly sweet.
Add optional extras: Fold in pecans, ginger, or orange zest if you like. Spread the mixture evenly in the prepared dish.
Bake the base: Bake uncovered for 20–25 minutes, until the edges are set and the center is puffing slightly. This helps the casserole firm up before the topping.
Top with marshmallows: Remove the dish and scatter mini marshmallows evenly over the top.
For extra coverage, gently press them so they don’t roll off.
Finish baking: Return to the oven for 8–12 minutes, until the marshmallows are golden brown and melty. If you want deeper color, turn on the broiler for 30–60 seconds. Watch closely to avoid burning.
Rest and serve: Let the casserole cool for 10 minutes so it slices cleanly.
Serve warm, and expect requests for seconds.
If using the pecan topping: Mix pecans with melted butter, brown sugar, and a pinch of salt. Sprinkle over the casserole before the first bake (Step 6). You can add a small layer of marshmallows on top during the final minutes if you want both textures.