Salads
This vegan beet noodle salad transforms humble ingredients into a vibrant, earthy-sweet masterpiece that’s as nourishing as it is visually stunning. Roasted beets lend natural sweetness while crisp celery crowns add a satisfying crunch, creating a balance of textures that keeps every bite exciting.
The salad’s deep, ruby hues make it perfect for summer gatherings or a light lunch that feels indulgent.
What sets this recipe apart is the roasted beet technique, which intensifies their natural sweetness without overpowering the delicate celery and fresh herbs. Cooking the noodles al dente ensures they hold their shape while absorbing the bright, tangy dressing—no soggy strands here.
The dressing, a zesty blend of citrus and herbs, ties everything together with a refreshing kick.
Assembling this salad is a breeze: simply combine the roasted beets, crisp celery crowns, and your choice of greens, then toss with the dressing and optional toppings like toasted nuts or avocado.
The result is a dish that’s vegan-friendly, protein-rich, and packed with flavor—ideal for meal prep or a show-stopping side dish. It’s the kind of salad that turns simple ingredients into something extraordinary.
For extra depth, consider adding a sprinkle of feta (if not keeping it vegan) or a handful of chickpeas for protein. The salad keeps well in the fridge for up to 3 days, making it a perfect make-ahead option for busy weeks.
Let’s bring this vibrant, crunchy, and deeply satisfying salad to your table.
Ingredients for beet noodle salad
Roasted beets, crisp celery crowns, and whole-grain noodles create this vibrant, protein-rich vegan masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| Medium Beets 🍠 | 2 whole | Organic preferred, trimmed |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For roasting beets |
| Celery Stems 🧅 | 3 whole | Cut into 1-inch pieces |
| Whole-Grain Spaghetti 🍝 | 8 oz | Uncooked, al dente preferred |
| Fresh Baby Spinach 🌱 | 4 cups | Packed, organic preferred |
| Fresh Parsley 🌿 | ¼ cup | Chopped, stems removed |
| Fresh Mint Leaves 🌿 | ¼ cup | Chopped, for brightness |
| Lemon Juice 🍋 | ⅓ cup | Freshly squeezed |
| Extra-Firm Tofu 🥬 | 8 oz | Pressed, cubed for protein |
| Raw Walnuts 🥜 | ½ cup | Toasted, chopped |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | Fine grain preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly cracked |
| Maple Syrup 🍁 | 1 tbsp | For subtle sweetness |
| Apple Cider Vinegar 🍎 | 1 tbsp | For tangy balance |
The beets are the heart of this salad—organic, medium-sized develop the deepest sweetness when roasted. Whole Foods or local farmers' markets often carry the most vibrant varieties, but any medium beet works. For roasting, wrap each beet in foil with a drizzle of olive oil and roast at 400°F until tender (about 45 minutes). The celery crowns should be crisp, so slice them just before assembling to prevent wilting. Trader Joe's carries pre-washed celery crowns if you're short on time, but fresh is always better.
No organic beets? Conventional beets work fine—just scrub them well. Substituting the celery crowns? Crisp radishes or jicama slices add a similar crunch. The whole-grain noodles can be swapped for brown rice noodles or zucchini noodles if you prefer a gluten-free option. For extra protein, chickpeas or edamame work beautifully alongside the tofu. The dressing requires fresh lemon juice—bottled won't cut it here. If you're missing maple syrup, agave nectar at a 1:1 ratio keeps the vegan integrity.
Roasted beets and celery crowns keep well in the fridge for 5 days when stored separately in airtight containers. The dressing can be made up to 3 days ahead, but the tofu and nuts should be added fresh for optimal texture. For meal prep, store components separately and assemble within 24 hours of serving. This salad reheats beautifully—just toss with a splash of water and warm gently. Portion into glass jars for a visually stunning, grab-and-go lunch.
Why You'll Love This Recipe
- No Boil Required: The beets roast while you cook the pasta—same pot, no multitasking. I swear by this: toss the whole-grain spaghetti in the same water as the beets (yes, really), then drain and rinse. The noodles stay al dente, the beets caramelize, and you’re done in one pan. (My lazy Sundays thank me.)
- Earthy-Creamy Magic: That first bite? Sweet roasted beets meet salty celery, all tangled in olive oil so rich it feels like a hug. The spinach stays crisp, not wilted, and the whole-grain noodles add a satisfying bite. Honestly, it’s the kind of salad that makes you pause mid-bite to wonder why you don’t eat it more often.
- Lunchbox Hero: Pack it cold for work or school—no soggy mess here. The roasted beets hold their shape, the dressing clings to the noodles, and the celery adds that satisfying crunch. I’ll be real: my kids groan when I pack it, but they inhale it by noon. (Even the picky ones.)
- Budget Brightener: Beets and celery last forever in the fridge, and whole-grain pasta stretches further than you’d think. Double the batch, store it for 4 days, and you’ve got a meal that’s cheaper than takeout but way more impressive. Plus, no fancy ingredients—just pantry staples doing their job. My wallet and I both approve.
Step-by-step instructions for beet noodle salad
Transform humble ingredients into a vibrant, nutrient-packed salad with perfect texture contrasts.
Roast the Beets Until Tender and Caramelized
Preheat your oven to 400°F and line a baking sheet with parchment paper. Wrap the 2 whole medium beets tightly in aluminum foil, leaving room for expansion. Place them on the prepared sheet and roast for 45-50 minutes until completely tender when pierced with a fork.
The foil traps moisture while the oven's dry heat creates that signature caramelized exterior. When done, the beets should yield easily to gentle pressure and have a deep, earthy aroma. Let them cool slightly before peeling - the skins will slip off effortlessly once they've rested for 10 minutes.
Cook the Whole-Grain Spaghetti Al Dente
Bring a large pot of well-salted water to a rolling boil. Add the 8 oz whole-grain spaghetti and cook according to package instructions, but remove them 1 minute before they're fully al dente. Drain immediately and rinse under cold water to stop the cooking process and prevent over-softening.
This slight undercooking ensures the noodles maintain their bite when tossed with the salad dressing. Spread them on a clean kitchen towel to dry briefly - this helps them absorb the dressing better later. The texture should be firm yet tender, with just a slight resistance when bitten.
Prepare the Tofu and Celery Components
Press the 8 oz extra-firm tofu between paper towels for 15 minutes to remove excess moisture, then cut into ½-inch cubes. Heat 1 tablespoon of the extra-virgin olive oil in a non-stick skillet over medium heat until shimmering. Add the tofu cubes and cook for 8-10 minutes, turning occasionally, until golden brown on all sides.
Meanwhile, cut the 3 whole celery stems into 1-inch pieces and toast them in the same skillet for 3-4 minutes until their edges begin to soften slightly. The celery should develop a subtle nutty aroma while maintaining its crisp texture. Remove both components and set aside to cool.
Assemble the Dressing and Final Components
In a small bowl, whisk together the remaining 0.125 cup extra-virgin olive oil, 0.33 cup lemon juice, 1 tbsp maple syrup, 1 tbsp apple cider vinegar, 1.5 tsp kosher salt, and 0.5 tsp black pepper until fully emulsified. Add the 0.25 cup chopped parsley and 0.25 cup chopped mint leaves and stir to combine.
Toast the 0.5 cup raw walnuts in a dry skillet over medium heat for 3-4 minutes until fragrant and lightly golden. Chop them coarsely and set aside. In a large mixing bowl, combine the cooled beets (peeled and chopped), whole-grain spaghetti, 4 cups fresh baby spinach, golden tofu cubes, and toasted celery pieces.
Toss and Serve with Perfect Texture Balance
Pour the dressing over the salad components and toss gently but thoroughly to coat all ingredients evenly. Add the toasted walnuts just before serving to maintain their crisp texture. The salad should have vibrant color contrasts with deep ruby beets, bright green spinach, and golden tofu cubes.
Taste and adjust seasoning if needed - the dressing should be tangy-sweet with a subtle earthiness from the beets. Serve immediately while the celery maintains its crispness and the tofu remains warm. This salad keeps well in the refrigerator for 2-3 hours if stored properly, though the celery will soften slightly over time.
Pro Tips For Making Beet Noodle Salad
- Boil Beets Whole: I learned this the hard way—cutting beets into chunks before boiling always leaves them unevenly cooked and waterlogged. Toss them whole into boiling water (skin on, no peeling needed), boil 30-40 minutes until fork-tender, then cool, peel, and slice. The skins slip right off after cooking, and the texture stays firm.
- Salt the Pasta Water Hard: Whole-grain spaghetti needs serious salt—more than you’d use for white pasta. Taste the water before draining; it should taste like the sea. Unsalted? Add 1.5 tablespoons per quart of water. Under-salted noodles ruin the whole salad’s flavor balance.
- Dice Celery Small: Skip the thick matchsticks—celery’s crunch is best when it’s tiny. Dice into 1/8-inch pieces so every bite has texture, not just a few chewy surprises. (Yes, it takes 30 seconds longer, but you’ll actually eat the salad.)
- Toss Spinach Last: Spinach wilts faster than you think. Cook the pasta, cool it, then mix in everything except the spinach. Let the salad sit 5 minutes, then fold in the spinach just before serving—it stays crisp and vibrant. No sad, limp greens here.
Best sauces and condiments for this recipe
Citrus-Herb Dressing
The star of this salad is its bright, tangy dressing that balances the earthy beets and nutty tofu. I blend 0.33 cup fresh lemon juice with 1 tbsp maple syrup and 1 tbsp apple cider vinegar for a perfect sweet-tart contrast.
The 0.25 cup chopped parsley and mint add freshness, while 0.125 cup extra-virgin olive oil emulsifies everything into a silky, clingy sauce. This dressing keeps well for 3 days in the fridge, so make extra for future salads! 🍋
Creamy Tahini Swirl
For a richer texture, swap half the olive oil with 2 tbsp tahini and whisk in 1 tsp water to thin it out. The tahini adds a nutty depth that pairs beautifully with the roasted beets. I love this version when I want extra protein and creaminess without dairy.
Add a pinch of garlic powder to elevate the flavor even more. This works especially well if you're serving the salad as a main course. 🥜
Spicy Yogurt Drizzle
If you're not keeping the salad fully vegan, drizzle with a vegan coconut yogurt mixed with 1 tsp sriracha and ½ tsp honey (or maple syrup). The cool, creamy yogurt contrasts perfectly with the warm, roasted beets and adds a subtle heat.
I recommend So Delicious Unsweetened Coconut Yogurt for the best texture. This topping adds a luxurious finish that makes the salad feel restaurant-worthy. 🌶️
Balsamic Glaze Drizzle
For a sophisticated touch, drizzle the finished salad with a reduced balsamic glaze. Simmer 2 tbsp balsamic vinegar in a small saucepan until it reduces to a syrupy consistency (about 3-4 minutes). Let it cool slightly before drizzling over the top.
The deep, tangy flavor enhances the beets' natural sweetness and adds a glossy finish. This works especially well when serving the salad at room temperature. 🍷
Avocado Lime Dressing
Blend 1 ripe avocado, 0.25 cup lemon juice, 1 tbsp apple cider vinegar, and 2 tbsp water until smooth for a creamy, avocado-based dressing. This version adds healthy fats that help keep you full longer.
The lime flavor brightens the salad, and the avocado gives it a velvety texture. Perfect for those who love a richer dressing without dairy. 🥑
Umami Soy-Ginger Dressing
For an Asian-inspired twist, mix 2 tbsp tamari or soy sauce, 1 tbsp rice vinegar, 1 tbsp maple syrup, 1 tsp grated fresh ginger, and 1 tsp sesame oil. This dressing adds a savory depth that pairs wonderfully with the earthy beets and nutty walnuts.
Garnish with toasted sesame seeds for extra crunch. This version is a game-changer for those who love bold flavors. 🌱
Nutrition facts
Frequently asked questions
Can I use raw beets instead of roasted?
Raw beets will work, but roasting brings out their natural sweetness and tender texture. If using raw, peel and thinly slice them, then soak in cold water for 10 minutes to soften slightly. The salad will be less sweet and more watery, so add extra dressing or a squeeze of lemon to balance. For best results, roasting is recommended for that signature caramelized depth.
How do I store leftovers to keep the celery crisp?
Store components separately in airtight containers: beets, celery, and tofu in one container, dressing in another, and greens/nuts in a third. Keep the celery crowns submerged in ice water for 30 minutes before storing to maintain crispness. This salad keeps well for 3 days in the fridge, but add fresh celery and dressing when serving. For maximum crunch, toast new celery just before eating.
What's the best way to make this salad gluten-free?
Swap the whole-grain spaghetti for zucchini noodles or brown rice noodles to keep it gluten-free. For extra protein, add chickpeas or edamame instead of tofu. The dressing remains safe as long as it contains no hidden gluten (check your vinegar and soy sauce alternatives). Always verify all ingredients for gluten certification if needed.
Can I make this salad ahead of time?
Prep all components separately and store in the fridge for up to 3 days. The beets, celery, and tofu can be roasted/toasted a day ahead. Assemble just before serving to maintain crisp textures. The dressing should be made fresh or stored separately for 3 days. For meal prep, use glass jars with dressing on the bottom and other ingredients layered on top.
Why did my celery turn soggy?
Celery loses crispness when submerged in dressing or stored too long. To prevent this, add celery crowns last and toss lightly. Store them separately in ice water until serving. If they've already softened, revive them by toasting in a dry skillet for 2-3 minutes until crisp again. The key is keeping them dry until the final assembly.
