Creamy Sweet Potato Casserole with Pecan Topping
This sweet potato casserole is the one I bring to every holiday, and it never comes home with leftovers. The filling is silky and lightly spiced, with a crackly brown sugar pecan topping that stays crisp even after baking.

You can boil the sweet potatoes while the oven heats up, so it comes together faster than most side dishes of its kind. The whole thing bakes in one dish and tastes just as good at room temperature as it does hot.
What Makes This One a Keeper
The base tastes like a sweet potato pie filling, not mashed potatoes with sugar stirred in. Cream and butter do the heavy lifting, and just enough cinnamon and nutmeg keep it warm without tasting like pumpkin spice.
That pecan topping is the real reason people ask for the recipe. It’s part streusel, part praline, and it stays crunchy because we don’t melt the butter first. You get little nuggets of toasty pecan in every spoonful.
Ingredients

- 3 lbs sweet potatoes (about 4 medium), peeled and cut into 2-inch chunks: orange-fleshed varieties like Beauregard or Jewel give the smoothest puree
- 1/2 cup heavy cream, warmed: half-and-half works too, but cream gives the best texture
- 1/4 cup unsalted butter, melted and slightly cooled: plus more for the dish
- 1/3 cup packed light brown sugar: dark brown sugar works for a deeper molasses note
- 2 large eggs, lightly beaten: let them come to room temperature while the potatoes cook
- 1 tsp vanilla extract
- 1/2 tsp fine sea salt
- 1/2 tsp ground cinnamon
- 1/4 tsp freshly grated nutmeg: pre-ground is fine, but fresh makes a big difference
For the Pecan Topping
- 1/2 cup all-purpose flour
- 1/2 cup packed light brown sugar
- 1/4 cup cold unsalted butter, cut into small cubes: cold butter makes the topping crisp
- 1 cup pecan halves, roughly chopped
- Pinch of fine sea salt
Variations
- Marshmallow topping: skip the pecan streusel and scatter 3 cups mini marshmallows over the filling during the last 5 minutes of baking, then broil until golden
- Nut-free option: replace the pecans with an extra 1/2 cup flour and 1/2 cup old-fashioned oats for a crumble topping
- Vegan version: use coconut cream, vegan butter sticks, and a flax egg (2 tbsp ground flax mixed with 5 tbsp water, left to thicken)
- Spice swap: trade the cinnamon and nutmeg for 1 tsp pumpkin pie spice, or add 1/2 tsp ground ginger for more warmth
For another holiday staple that skips the marshmallows, my Brown Butter Mashed Potatoes are good enough to eat straight from the spoon.
How to Make Sweet Potato Casserole
Step 1: Boil the Sweet Potatoes

Place the cut sweet potatoes in a large pot and cover them with cold water by about an inch. Add a generous pinch of salt, bring to a boil over high heat, then reduce the heat to a steady simmer and cook for 12 to 15 minutes, until a fork slides through the thickest chunk with no resistance. If you can mash it against the side of the pot without pressure, they are ready.
Drain the potatoes well and let them sit in the colander for a minute so the steam can escape. Wet potatoes make a watery filling, and this recipe has no room for that.
Step 2: Mix the Filling

Return the hot potatoes to the pot and mash them by hand until smooth, or run them through a ricer if you want an extra silky base. Stir in the 1/4 cup melted butter and the 1/3 cup brown sugar until the sugar dissolves, then pour in the warm cream and the vanilla. Add the salt, cinnamon, and nutmeg.
Let the mixture cool for 5 minutes before you add the beaten eggs, or you’ll end up with bits of scrambled egg in your casserole. Stir them in gently until everything is just combined, and the filling should look glossy and thick enough to hold a soft mound on a spoon.
Step 3: Make the Pecan Streusel

In a medium bowl, stir together the 1/2 cup flour, 1/2 cup brown sugar, and the pinch of salt. Drop in the cold butter cubes and use your fingers to pinch and rub the butter into the dry ingredients. Keep working it until the mixture looks like coarse sand with some pea-sized bits of butter still visible, which takes about 2 minutes. Those butter bits are what keeps the topping crisp in the oven.
Toss in the chopped pecans and squeeze the mixture once or twice to form a few clumps. The clumps will toast into crunchy clusters, so don’t be shy about encouraging them.
Step 4: Bake and Serve the Casserole

Preheat the oven to 350°F (175°C) and butter a 9-by-13-inch baking dish. Spread the sweet potato filling evenly in the dish and scatter the pecan streusel over the top, breaking up any large clumps with your fingers. Bake on the middle rack for 25 to 30 minutes, until the topping is deep golden and the filling is bubbling around the edges. If the topping browns too fast, lay a sheet of foil loosely over the top during the last 10 minutes.
Let the casserole rest on a wire rack for 10 minutes. The filling will set up just enough to hold its shape when you scoop it, and the top will stay crunchy. Serve it hot or warm, and expect the pecan topping to be the first thing to disappear.
How to Get the Best Topping
- Keep the butter cold when you make the streusel. Room-temperature butter will melt into a greasy layer instead of forming those crisp pecan nuggets.
- Don’t overmix the filling once the eggs go in. Stir just until no streaks of egg remain, or the casserole can turn out dense instead of creamy.
- If you want the very smoothest texture, pass the cooked sweet potatoes through a ricer or food mill before adding the other ingredients.
- Freshly grated nutmeg has a floral quality that pre-ground loses. A few quick passes on a Microplane is worth the 30 seconds.
Bake times by dish size:
| Dish Size | Bake Time |
|---|---|
| 8×8-inch dish (thicker layer) | 30–35 mins |
| 9×13-inch dish (thinner layer) | 25–30 mins |
| Individual ramekins | 20–25 mins |
How to Store Leftovers
- Refrigerate: spoon leftovers into an airtight container and store in the fridge for up to 4 days. The topping will soften, but a quick reheat brings some crunch back.
- Reheating: warm individual portions in a 350°F oven for 10 minutes, or microwave for 1 minute and finish under the broiler for 2 minutes to re-crisp the topping.
- Freeze unbaked: assemble the casserole, cover it tightly with foil, and freeze for up to 2 months. Bake straight from frozen at 350°F for 50 to 60 minutes, removing the foil for the last 15 minutes.
What Goes Well with Sweet Potato Casserole
A roasted turkey or glazed ham balances the sweetness of the casserole with something savory and salty. For a weeknight meal, pan-seared pork chops with a pan sauce soak up that creamy sweet potato base beautifully. A bright, peppery arugula salad with lemon vinaigrette cuts through the richness and keeps the plate from feeling too heavy.
Frequently Asked Questions
Can I use canned sweet potatoes?
Yes, but drain them well and taste first. Canned sweet potatoes are often packed in syrup, so you might need to reduce the brown sugar by half to avoid an overly sweet filling.
Can I assemble the casserole the night before?
Yes. Spread the filling in the dish, cover it, and refrigerate. Make the streusel separately and keep it in a covered bowl in the fridge. Sprinkle the topping on right before baking and add 5 to 8 minutes to the bake time.
My topping turned out soggy, what happened?
The butter was probably too soft when you mixed the streusel, or the dish was covered while resting and trapped steam. Use butter straight from the fridge and let the casserole cool uncovered.
Can I skip the eggs?
You can leave them out, but the filling won’t set as firmly. It will be more like a thick pudding than a sliceable casserole. Add 1 tablespoon of cornstarch to the cream to help it hold its shape without eggs.

Ingredients
Method
- Boil the sweet potatoes in salted water until fork-tender, about 12 to 15 minutes. Drain well.
- Mash the potatoes, then stir in the melted butter, brown sugar, cream, vanilla, salt, cinnamon, and nutmeg. Cool for 5 minutes, then fold in the eggs.
- For the topping, rub the flour, brown sugar, salt, and cold butter together until crumbly. Toss in the pecans and squeeze to form a few clumps.
- Spread the filling into a buttered 9×13-inch dish. Scatter the streusel on top and bake at 350°F for 25 to 30 minutes, until golden and bubbling. Let rest 10 minutes, then serve.
