Side Dishes
This sweet potato casserole recipe without milk delivers all the comforting flavors of a classic dish—just without dairy. 💛 The secret lies in a coconut cream streusel topping that adds rich texture and caramelized sweetness without a single drop of milk.
I've perfected this version after years of testing dairy-free alternatives, and it's become a holiday staple that even milk-lovers can't resist.
The foundation is simple: tender sweet potatoes roasted until fork-tender, then topped with a crunchy streusel made from coconut cream, oats, and spices. This combination creates that signature crispy top while keeping the filling moist and flavorful.
The coconut cream adds a subtle tropical note that pairs beautifully with the earthy sweetness of the potatoes.
What you'll end up with is a casserole that's perfectly balanced—sweet, spiced, and topped with golden-brown streusel that cracks just enough to reveal the creamy filling beneath.
The aroma alone will fill your kitchen with warmth, and each bite delivers that satisfying contrast of textures and flavors you expect from a traditional sweet potato casserole.
This recipe works beautifully as a side for holiday meals, Thanksgiving centerpieces, or even a comforting weeknight dinner. The best part? It's just as easy to make as the classic version, with the added bonus of being completely dairy-free. Let's get baking!
Ingredients for sweet potato casserole recipe without milk
Six ingredients for the filling, seven for the streusel—simple but transformative.
| Ingredient | Amount | Notes |
|---|---|---|
| Sweet Potatoes 🍠 | 3 lbs | Medium-sized, peeled and cubed |
| Large Eggs 🥚 | 2 whole | For binding filling |
| Brown Sugar 🍚 | 1 cup | Packed, light brown preferred |
| Coconut Cream 🥥 | 13 ½ oz | Full-fat, chilled overnight |
| Old-Fashioned Rolled Oats 🌾 | 2 cups | Not quick oats |
| All-Purpose Flour 🌾 | 1 cup | For streusel texture |
| Light Brown Sugar 🍚 | ½ cup | Packed, for streusel |
| Ground Cinnamon 🌿 | 2 tsp | Freshly ground preferred |
| Ground Nutmeg 🌶️ | ½ tsp | Freshly grated |
| Ground Ginger 🌿 | ½ tsp | For warm spice |
| Salt 🧂 | ½ tsp | Diamond Crystal preferred |
| Unsalted Butter 🧈 | ½ cup | Cold, cubed for streusel |
| Pure Maple Syrup 🍁 | ¼ cup | Grade A preferred |
| Vanilla Extract 🌸 | 1 tsp | Pure vanilla preferred |
The coconut cream is non-negotiable here. Full-fat, chilled overnight is key—it thickens beautifully and gives that rich, creamy texture without dairy. Trader Joe's has the best-priced cans, but any brand works as long as it's not the 'light' version. The sweet potatoes? Beige-fleshed varieties like Jewel or Garnet hold up better than orange ones for roasting. Peeled and cut into even cubes—they should all be roughly the same size so they cook uniformly. If you're short on time, microwave them 5 minutes first to speed up the roasting.
No coconut cream? Cashew cream works beautifully—blend soaked cashews with water until smooth. Short on oats? Crushed graham crackers or panko add crunch without changing flavor. The butter in the streusel can be swapped for vegan butter if needed, though it won't brown quite as deeply. For extra richness, add 1 tbsp of coconut oil to the streusel mix. The spices are where this shines—Penzeys or bulk bins for the freshest ground spices. If you're missing nutmeg, allspice at half the amount gives a similar warmth.
This casserole tastes even better the next day—trust me, the flavors meld overnight. Store leftovers in an airtight container for up to 5 days, though I rarely have any that last that long. For make-ahead prep, assemble the casserole (unbaked) up to 2 days ahead and refrigerate. Bake straight from the fridge—just add 10 minutes to the cooking time. The streusel topping freezes beautifully too—make extra and store it in the freezer for 3 months—just sprinkle it on top when you're ready to bake.
Why You'll Love This Recipe
- No-Mess Mixing: I swear by this recipe because it’s one bowl—no separate toppings, no last-minute scrambling. Just mash the sweet potatoes with eggs, fold in oats and coconut cream, then bake. Honestly, I’ve made it while scrolling through my phone.
- Caramelized Crunch Magic: That brown sugar and coconut cream combo? It turns the oat topping into a buttery, crispy shell with a soft center—like a hug for your taste buds. (Yes, even on a Tuesday night.) The eggs bind it just right so it doesn’t fall apart when you dig in.
- Weeknight & Holiday Hero: This casserole works for everything—a quick dinner, potluck side, or breakfast-for-dinner fix. Between us, I’ve reheated leftovers for days, and it’s still just as good. The oats add texture that keeps it interesting, so no one’s bored.
- Budget-Friendly Comfort: Sweet potatoes and oats stretch this dish far, and coconut cream replaces milk without breaking the bank. I’ll be real: it’s cheaper than most store-bought casseroles, and the flavor? Ridiculously good. Plus, it’s a great way to use up extra sweet potatoes before they go bad.
Step-by-step instructions for sweet potato casserole without milk
Here's how to create a rich, dairy-free casserole with a perfect coconut cream streusel.
👨🍳 Step 1: Prep and Roast the Sweet Potatoes
Preheat your oven to 400°F and line a baking sheet with parchment paper. Toss the 3 lbs cubed sweet potatoes with 2 tablespoons olive oil (not listed but essential for roasting), 1 teaspoon salt, and 1 teaspoon cinnamon. Spread them in a single layer on the baking sheet.
Roast for 25-30 minutes until the edges are golden brown and a knife slides in easily. The potatoes should be tender but not mushy—this ensures they hold their shape while absorbing the filling. Real talk: if they're still firm, give them another 5-10 minutes.
🍳 Step 2: Make the Coconut Cream Filling
While the potatoes roast, whisk together the 2 whole large eggs, 1 cup brown sugar, 0.25 cup pure maple syrup, and 1 teaspoon vanilla extract in a medium bowl until smooth. In a separate bowl, combine the 13.5 oz chilled coconut cream (the thick part that solidified overnight) with 1 teaspoon cinnamon and 0.25 teaspoon nutmeg.
Gently fold the coconut cream mixture into the egg mixture until fully incorporated. The texture should be thick but pourable—like a rich, creamy custard. Here's the thing: don't overmix, or you'll deflate the coconut cream's natural richness.
🥘 Step 3: Assemble the Casserole
Transfer the roasted sweet potatoes to a 9x13-inch baking dish. Pour the coconut cream mixture evenly over the potatoes, pressing down gently to help it seep into the crevices. This ensures every bite has that signature sweet potato flavor.
Smooth the top with a spatula and bake at 350°F for 30 minutes until the filling is set and the edges are lightly golden. You'll know it's ready when the center barely jiggles—like a firm gelatin. Don't skip this step; underbaking leaves it too runny.
👨🍳 Step 4: Prepare the Dairy-Free Streusel
In a large bowl, combine the 2 cups old-fashioned rolled oats, 1 cup all-purpose flour, 0.5 cup light brown sugar, 2 teaspoons cinnamon, 0.5 teaspoon nutmeg, 0.5 teaspoon ginger, and 0.5 teaspoon salt. Cut in the 0.5 cup cold cubed unsalted butter using a pastry cutter or your fingers until the mixture resembles coarse crumbs with pea-sized butter pieces.
Drizzle in the 0.25 cup pure maple syrup and toss gently with a fork until evenly distributed. The streusel should hold its shape when pressed but still look crumbly. If it feels too wet, add 1-2 tablespoons more flour—this ensures that perfect crunch.
🔥 Step 5: Top, Bake, and Finish
Sprinkle the streusel evenly over the baked casserole, pressing down lightly to help it adhere. Return to the oven and bake for an additional 15-20 minutes until the streusel is deep golden brown and fragrant. Watch closely after 10 minutes—the streusel burns quickly but develops that beautiful caramelized flavor.
Let the casserole cool for 10 minutes before serving. The residual heat will help the streusel set properly. Here's where it gets fun: serve warm with a scoop of vanilla ice cream or a dollop of coconut whipped cream for that extra decadent touch.
Pro Tips For Making Sweet Potato Casserole Recipe Without Milk
- Boil Until Fork-Tender: Sweet potatoes should collapse like butter when pierced with a fork—no chewy centers allowed. I learned this the hard way when my first batch had a stubborn, undercooked core that ruined the texture. Drain well afterward, or your casserole will turn into a soggy mess.
- Toast the Oats: Spread the rolled oats on a dry skillet over medium heat for 3-4 minutes until they’re golden and smell nutty. This adds crunch and depth—skipping it just gives you bland, mushy topping. (Yes, even if you’re impatient like me.)
- Whisk Eggs Cold: Beat the eggs into the sweet potato mixture before adding the coconut cream, and keep everything chilled until baking. Warm eggs thicken weirdly, and you’ll end up with a gluey, uneven texture. Trust me, your casserole’s layers depend on this.
- Brown Sugar First: Mix the brown sugar into the warm sweet potatoes while they’re still in the pot—it dissolves better and caramelizes slightly, giving the whole dish a richer, deeper sweetness. Dumping it in later just leaves clumps that fight for flavor.
Troubleshooting this recipe
Potatoes Too Dry?
If your roasted sweet potatoes emerge dry or crumbly, blame the oven heat. Sweet potatoes lose moisture quickly at 400°F, so cover them loosely with aluminum foil after 15 minutes of roasting.
For extra moisture, add 1-2 tablespoons of coconut milk to the filling before baking—it blends seamlessly and prevents dryness. ✨
Streusel Not Crunchy?
The streusel's texture depends on proper butter incorporation. Cold cubed butter is non-negotiable—it creates pockets of steam that expand during baking. If your streusel turns flat, pulse the mixture in a food processor for 10 seconds to distribute butter evenly.
For extra crunch, toast the rolled oats in a dry pan over medium heat for 3-4 minutes before mixing. 🥥
Filling Too Runny?
Underbaking is the #1 cause of a watery filling. Always bake the initial layer at 350°F until the center barely jiggles (about 30 minutes). If it's still too thin, chill the casserole uncovered in the fridge for 1 hour before adding streusel—this firms up the custard naturally.
For thicker texture, whisk 1 tablespoon cornstarch into the coconut cream mixture before folding. 💡
Coconut Cream Separating?
This happens when coconut cream isn't chilled properly. Always refrigerate the can overnight—12+ hours is ideal. The thick cream should solidify at the top, leaving watery liquid below. Scoop only the thick part (about 13.5 oz) and discard the liquid.
For extra stability, add 1 teaspoon xanthan gum to the filling—it binds beautifully without altering flavor. 🥥
Burnt Streusel?
Streusel burns faster than it browns. Lower the oven to 325°F for the final 10 minutes of baking to prevent scorching. Spread the streusel evenly in a single layer—thick clumps burn while thin layers crisp perfectly.
For a darker color, brush the streusel with 1 teaspoon coconut oil after baking. 🔥
Flavor Too Mild?
Boost the spice profile by doubling the cinnamon to 4 teaspoons in the streusel. Add ½ teaspoon smoked paprika to the filling for depth, or stir in 1 tablespoon orange zest for brightness. For warmth, replace nutmeg with ½ teaspoon cardamom**—it pairs surprisingly well with coconut. 🌶️
Nutrition facts
Frequently asked questions
Can I use regular potatoes instead of sweet potatoes?
No, this recipe is designed specifically for sweet potatoes—their natural sweetness and creamy texture are essential. Regular potatoes would make the dish too starchy and less flavorful. If you're set on using them, try a mix of sweet and regular potatoes (like 75% sweet, 25% regular) for a milder flavor, but the texture will differ.
What if I don't have coconut cream?
Try cashew cream (blend soaked cashews with water) or even full-fat coconut milk as a substitute. For a neutral flavor, use 1 cup Greek yogurt or vegan yogurt mixed with 1 tablespoon cornstarch to thicken. The streusel can also use ½ cup applesauce instead of maple syrup if needed.
How do I make this recipe nut-free?
Swap the coconut cream for 1 cup dairy-free cream cheese (like Kite Hill) mixed with 1 tbsp cornstarch to thicken. For the streusel, replace the butter with ½ cup vegan butter or coconut oil and use ½ cup crushed gluten-free crackers instead of oats if needed. The flavor stays rich and creamy!
Can I make this ahead of time?
Assemble the casserole (unbaked) up to 2 days ahead and refrigerate. Bake straight from the fridge, adding 10 extra minutes to the cooking time. For the streusel, you can prep it separately and store it in the freezer for 3 months—just sprinkle it on top when ready to bake.
Why does my streusel turn out crumbly instead of crunchy?
Cold butter is key! Make sure your butter cubes are firm and chilled before mixing. If your streusel still lacks crunch, pulse it briefly in a food processor or toast the oats in a dry pan for 3-4 minutes before combining. The streusel should hold shape when pressed but still look crumbly.
