This sweet potato casserole features a silky, warmly spiced filling made from scratch with fresh sweet potatoes, butter, eggs, and vanilla, topped with a crunchy brown sugar pecan streusel that bakes up golden and caramel-like. It's the ultimate holiday side dish that's easy enough for beginner cooks, can be made a full day ahead, and consistently steals the show at any Thanksgiving or Christmas table.
Potato masher - Or hand mixer for a smoother result
Hand mixer - Optional; produces silky lump-free filling
Large mixing bowl - For the sweet potato filling
Medium mixing bowl - For the pecan streusel topping
Cutting board
Sharp knife
Vegetable peeler
Colander - For draining cooked sweet potatoes
Measuring cups and spoons
Rubber spatula
Aluminum foil - Optional; to tent if topping browns too fast
Ingredients
For the Sweet Potato Filling
3lbssweet potatoes - 1.36 kg, about 4 medium, peeled and cubed
1/2cupunsalted butter - 113g, melted
3/4cupgranulated sugar - 150g
2large eggs - beaten
1/2cupwhole milk - 120ml
1tsppure vanilla extract - 5ml
1/2tspground cinnamon
1/4tspground nutmeg
1/2tspsalt
For the Brown Sugar Pecan Topping
1cuplight brown sugar - 200g, packed
1/3cupall-purpose flour - 42g
1/3cupunsalted butter - 75g, cold, cut into small cubes
1cuppecan halves - 110g, roughly chopped
Instructions
Preheat your oven to 350°F (175°C) and allow at least 15 minutes for it to fully come up to temperature. Lightly grease a 9x13 inch (23x33 cm) baking dish with butter or nonstick spray and set aside.
Peel and cut sweet potatoes into roughly 1-inch (2.5 cm) cubes, place in a large stockpot with salted cold water, bring to a boil, then cook over medium heat for 15–20 minutes until fork-tender. Drain thoroughly in a colander and let steam for 2–3 minutes to remove excess moisture.
Transfer the hot drained sweet potatoes to a large mixing bowl, add the melted butter, and mash or beat with a hand mixer until completely smooth. Add the granulated sugar, beaten eggs, whole milk, vanilla extract, cinnamon, nutmeg, and salt, then mix until fully combined and silky. Pour the filling into the prepared baking dish and spread into an even layer.
In a medium bowl, stir together the brown sugar and flour, then add the cold cubed butter and use your fingertips to pinch and rub the mixture until it resembles coarse crumbles with small visible butter pieces. Stir in the chopped pecans until evenly distributed.
Scatter the pecan streusel evenly over the sweet potato filling and bake uncovered on the center rack for 30–35 minutes, until the topping is deep golden brown and the edges are bubbling. If the topping browns too quickly, loosely tent with foil; rest for 5 minutes before serving.
Notes
Dry out your sweet potatoes: After draining, let them sit in the colander for a few minutes or briefly return them to the warm pot to steam off excess moisture — wet potatoes cause a loose, watery filling.
Add eggs last and carefully: Mix in butter, sugar, and spices first, then let the mixture cool slightly before adding beaten eggs to avoid accidentally scrambling them.
Use cold butter for the topping: Cold butter creates crumbly streusel clumps; softened or melted butter will result in a greasy topping rather than a crisp one.
Make it ahead: Assemble the full casserole (filling and topping), cover tightly with plastic wrap, and refrigerate up to 24 hours. Bake from the fridge, adding about 10 extra minutes to the bake time.
Watch the topping: Check at the 25-minute mark and tent loosely with foil if the pecans are browning too fast — burnt pecans taste bitter.
Canned sweet potatoes substitute: Use two 29-oz (822g) cans, drained very well, and reduce the granulated sugar to ½ cup (100g) since canned varieties are sweeter.
Marshmallow variation: Replace the pecan streusel with mini marshmallows for a classic Southern-style version, or add marshmallows on top of the streusel in the last 5–8 minutes for a hybrid topping.
Nut-free option: Omit the pecans and add ½ cup (50g) of old-fashioned rolled oats to the streusel mixture instead for crunch without nuts.
Freezer instructions: Freeze the fully baked casserole (cooled completely) for up to 3 months. Thaw overnight in the refrigerator and reheat covered at 350°F (175°C) for 25 minutes, uncovering for the last 5 minutes.
Reheat best practice: Reheat in a 350°F (175°C) oven covered with foil for 20–25 minutes, removing the foil for the last 5 minutes to re-crisp the topping.