When I put out a call for holiday recipe requests, the most popular answer was scalloped potatoes, so I knew I had to share a Vegan Scalloped Potatoes recipe! These basically taste like creamy, cheesy potato pillows melting in your mouth, and I want to sing from the rooftops “This dish is amazing! Make it now!”.
Unlike so many standard scalloped potato recipes (e.g., bland), this one is packed with so much good flavor, from caramelized onions and an herb-infused béchamel sauce, to a little chili heat and loads of savoriness. After 7 recipe tests in 10 days, I can confidently say this recipe absolutely slaps.
Even better: while these potatoes are certainly indulgent, you can eat a good amount of them without feeling weighed down. They’re dairy-free, vegan, nut-free, and easy to make gluten-free and soy-free.
How to make the BEST Vegan Scalloped Potatoes
When I first started exploring scalloped potatoes, I was very wary that this recipe would work. After all, most traditional recipes are heavy on the dairy but skimpy on the flavor: slice up some potatoes; make a roux out of butter, flour, and milk; season with salt and pepper; and (sometimes) add cheese. That’s it!
As a result, my first few attempts at keeping this recipe “classic” were a flop. Muted flavors that bored me to tears. So I knew I needed to “Nisha-ify” this recipe with tons of flavor.
Slice the potatoes very thinly and cook long enough
One of the most common complaints about scalloped potatoes is that they don’t cook evenly: some potatoes are super soft, others a bit crunchy and undercooked.
Why this happens: Many recipes tell you to (1) slice the potatoes 1/4″ thick and/or (2) to cook the dish for just 1 hour. In our first three recipe tests, we baked the dish for 1 hour, and all three had some share of undercooked potatoes, especially the version with 1/4-inch thick slices.
What you need for perfectly cooked scalloped potatoes: (1) Slice the potatoes 1/8″ thick. This is SO easy and quick with a mandoline; I can’t imagine doing it any other way. We use this inexpensive handheld mandoline and it ensures even thickness on each slice. (2) Bake the dish longer: first, covered with foil for 1 hour (to prevent burning and enable steaming), then uncovered for 20 minutes (or up to 30 minutes).
Use a creamy plant-based milk
We need to replace the high-fat content of whole milk, and I found the best option was full-fat oat milk (we love the one from Oatly). A creamy cashew milk would also work. But IMO, soy milk is too sweet (even the unsweetened varieties) and almond milk is not creamy enough.
Infuse the milk with herbs and spices
Plain milk ain’t very interesting, so let’s give it a flavor helping hand. First, I tie together fresh sprigs of sage, thyme, rosemary and a bay leaf into a bundle (AKA a bouquet garni, my favorite technique for infusing soups with flavor, like this Creamy White Bean Soup with Kale). I add herb bundle to the milk, along with a touch of nutmeg and cayenne, as well as peppercorns & salt.
Everything simmers together for 7 to 8 minutes and is then strained to infuse the milk. One sip of that milk and you’ll see why it makes for a much tastier dish!
Use fresh onion and garlic in the roux
In our first few recipe tests, we skipped the fresh onion in an effort to save time. BIG mistake. The time spent dicing and cooking the onion is SO worth it. It infuses every bite with a savory sweetness that only caramelized onions can bring.
And of course, garlic! I was shocked that most recipes for scalloped potatoes don’t include garlic.
Takeaway: Sautéing a diced onion until it’s almost caramelized and then a generous amount of garlic before making the roux makes this dish super flavorful. Don’t skip!
Add extra savoriness
Some traditional scalloped potato recipes contain cheese, which naturally contains umami. To bring in those deep savory flavors in a plant-based way, I rely on a couple ingredients.
First, nutritional yeast. A half cup sounds like a lot, but remember, we’re working with four pounds of potatoes! It adds an amazing cheesiness that even your omnivore guests will love.
Second, a tablespoon of white miso paste. Test #5 of this recipe was the first time we added miso, and we immediately noticed more savoriness and complexity of flavor.
Finally and optionally, vegan parmesan cheese. If you have access to it, it takes this dish over the top! That said, we have tested the recipe without it, and it was still very tasty.
Use Yukon Gold Potatoes for the most potato flavor
Russet potatoes seem like a good choice for scalloped potatoes because their high starch content naturally thickens the layers. However, they present two cons: (1) Russets have very little flavor and (2) they absorb a lot of liquid, so they actually eat up quite a bit of sauce, leaving you wanting more sauce.
Yukon Gold potatoes, on the other hand, are less starchy and have more potato flavor. In our test, the version with 100% Yukon Gold potatoes was notably more flavorful and saucier than the version with 50% Russets & 50% Yukon Gold.
Let it rest!
First off, if you immediately slice into this dish, it’ll burn your mouth. So there’s that. Also, the flavors still need a bit of time to meld together. Finally, allowing the dish to rest thickens it up and “sets” those casserole-like layers. This is especially important when using all Yukon Gold potatoes, as they have a higher water content than Russets and need a little time to rest.
Step-by-Step Instructions for Vegan Scalloped Potatoes
Add the milk, bouquet garni (fresh herbs tied together with kitchen twine), nutmeg, cayenne, peppercorns, and salt to a saucepan. Bring to a simmer and gently simmer on low for 7-8 minutes. Strain the milk.
Make the sauce. Heat a large frying pan over medium-high heat. Sauté the onion in a bit of vegan butter until fully golden brown, about 15 minutes. Add the rest of the butter and cook the garlic and red pepper flakes for 1-2 minutes.
Stir in the flour and whisk for 1 to 2 minutes until it’s a bit pasty. Gradually pour in the infused milk, whisking as you go. Simmer 3-5 minutes, until it has thickened.
Stir in the nutritional yeast, Dijon mustard, and miso and whisk to incorporate.
Layer half of the potatoes (peeled and sliced 1/8″ thick) in a greased 13×9″ baking pan in an overlapping fashion. For reference, half of the potatoes was three layers of potatoes for us.
Season the potatoes pretty well with salt and pepper.
Add half of the sauce on top and use a silicone spatula to evenly spread out across the potatoes.
Add the remaining half of the potatoes in overlapping layers, and season with salt and pepper. Spread out the remaining sauce on top. Top with vegan parmesan cheese, if using.
Bake at 400ºF/204ºC for 1 hour, covered with foil. Uncover the foil and rotate the pan by 180º. Bake uncovered for 20 to 25 minutes, until the top is deeply golden brown and potatoes are fully softened.
Top with a bit of flaky sea salt and chopped chives. Allow to rest for 15 minutes before slicing and serving.
Frequently Asked Questions
Just use a gluten-free all-purpose flour in the roux (we like King Arthur’s). Or you could try using half the amount of cornstarch (2 tablespoons + 2 teaspoons).
Our favorite is from Follow Your Heart! It’s sold at Sprouts, Whole Foods, Vons, Foodtown, Target, and smaller specialty stores. It doesn’t have a weird artificial taste and melts SO good in this recipe.
Yes, definitely! Even without the parmesan, this dish still looks remarkably cheesy and bubbly on top when removed from the oven, and thanks to a generous amount of nutritional yeast, it has some pretty good cheesy vibes.
Just add the herbs to the milk and strain the milk as instructed. The twine just makes it easier to fish out the herb bundle at the end.
Yes. You’ll miss out on some savory complexity of flavor, but this dish still has a lot of flavor going for it. Also, be sure to use a soy-free vegan butter, such as Earth Balance soy-free vegan butter, Country Crock Plant Butter Sticks, Flora Plant Butter, or ForA Butter.
We recommend Yukon Gold potatoes for the best flavor and sauciness. That said, you can use half Russets and half Yukon Golds and it’ll still be good (just don’t use all Russets – they will absorb a lot of the sauce and make this dish much drier).
Store leftovers, once cooled, in an airtight container in the fridge for up to 5 days. Transfer to a heatproof baking dish or food storage container, cover with foil, and reheat at 350 for 20 to 30 minutes, or until heated through.
Sure, you can bake them up to 3 days in advance. Once cooled, cover the baking dish tightly with foil (or use a pan that has a lid) and refrigerate. On the big day, cover the pan with foil and bake at at 350ºF/175ºC for 30 minutes, or until the potatoes are warmed through. For a crispier top, remove the foil after 20 minutes and bake uncovered for 10 more minutes.
Grab your favorite vegan sausage (I like Beyond Meat hot Italian and Field Roast Italian) and brown it in a pan. Layer it on top of the potato layers before adding the sauce! If you do this, consider reducing the salt in the sauce.
If it’s a big holiday meal, this Vegan Wellington would make an epic pairing! Or, a stuffed winter squash, like this Creamy Lentil Stuffed Butternut Squash or Wild Rice Stuffed Squash.
For something lighter, a green salad or some steamed or roasted broccoli, asparagus, or green beans would be great. For a heartier salad, try this Roasted Butternut Squash and Kale Salad.
If you have my cookbook, The Vegan Instant Pot Cookbook, the Lemony Asparagus with Gremolata, Garlicky Broccoli, Sicilian-Style Chard, Sweet and Spicy Braised Red Cabbage (all in chapter 4) would be nice veggie choices!
Looking for more vegan holiday side dishes?
- Mashed Potatoes with Mushroom Gravy: fluffy yet creamy mashed potatoes with a boldly savory mushroom gravy
- Crispy Baked Mac and Cheese: cheesy, creamy, and crispy (and more nourishing than you’d expect!)
- Wild Mushroom Stuffing: an umami-rich spin on the classic stuffing
- Pumpkin Stuffed Shells: cheesy, chewy, garlicky, and creamy!
- Vegan Cornbread: crispy-crusted and buttery and practically melts in your mouth!
If you love these Vegan Scalloped Potatoes, please be sure to rate and review them below! Your feedback is always so valuable :)
- 4 pounds Yukon Gold potatoes*
- 1 large sprig of sage (8 to 10 leaves)
- 8 to 12 sprigs of fresh thyme
- 1 large sprig of rosemary
- 1 bay leaf
- 3 cups (720 mL) full-fat oat milk
- 1/4 teaspoon freshly grated nutmeg
- ⅛ teaspoon cayenne pepper
- 1 teaspoon black peppercorns (or freshly cracked black pepper)
- 1 ¼ teaspoons kosher salt
- 5 tablespoons vegan butter or extra virgin olive oil, divided
- 1 medium-large yellow onion, finely diced
- 8 large garlic cloves, minced
- ½ teaspoon red pepper flakes
- ⅓ cup (42g) all-purpose flour**
- 1/2 cup (35g) nutritional yeast
- 1 teaspoon Dijon mustard***
- 1 tablespoon white miso paste, at room temperature****
- ½ cup to ¾ cup vegan parmesan (optional but recommended)*****
- flaky sea salt
- 1 big handful of chopped chives
- Peel and wash the potatoes. Dry well. Use a mandoline to slice them ⅛” thick.******
- Arrange a rack in the center of the oven and preheat the oven to 400ºF/200ºC. Grease a 13×9” square baking dish with a bit of oil on the bottoms and up the sides.
- Make a bouquet garni – tie your sage, thyme, rosemary and bay leaf in kitchen twine.
- In a medium saucepan, add oat milk, bouquet garni, nutmeg, cayenne, peppercorns and salt. Bring to a simmer and then turn heat to low and gently simmer for 7 to 8 minutes. Once cooled, strain and save the infused milk.
- In a deep 10 or 12-inch frying pan, heat 1 tablespoon of vegan butter or olive oil over medium-high heat. Once melted or hot, add the onion and season with salt and pepper. Stir fairly frequently until the onion is fully golden brown, about 15 minutes.
- Add the remaining 4 tablespoons of butter or oil. Once melted, add the garlic and red pepper flakes and cook for 1-2 minutes, until the garlic is golden and aromatic, stirring frequently.
- Add in the flour and whisk for 1 to 2 minutes to cook the flour into a paste. Gradually pour in the infused milk, whisking as you go to prevent clumping. Bring the sauce to a boil over medium-high heat. Then reduce the heat to medium and simmer, whisking often, for 3 to 5 minutes, until creamy and thick but pourable (it should coat the back of a spoon). Add in the nutritional yeast, mustard, and miso, and whisk until smooth. The sauce should be quite thick at this point. Take off the heat.
- Add half of the potatoes to the bottom of the prepared pan in overlapping layers (it took us 3 layers to go through one half of the potatoes). Season the potatoes pretty well with salt and pepper. Top with half of the sauce and smooth it out evenly with a silicone spatula.
- Add the remaining potatoes and season again with salt and pepper. Top with the rest of the sauce. Take a silicone spatula and and scrape any sauce stuck on the sides down into the potatoes (this helps prevent the sides from burning). Scatter the vegan parmesan evenly over the top.
- Cover the pan with foil and bake for 1 hour, until the sauce is bubbly around the edges. Remove the foil and rotate the pan by 180º. Bake uncovered for 20 to 25 minutes, until a fork inserted all the way to the bottom gives no resistance and the top is a bit browned.Note: The top should be nicely browned by now, but if not, you can briefly stick it under the broiler for 2 minutes (watch closely!).
- Sprinkle it with a bit of flaky salt and top with the chopped chives. Allow to cool for 15 minutes before slicing. It will thicken more as it rests.