This post may contain affiliate links. For more information, see our Affiliate Disclosure Policy.
I did not grow up eating spaghetti squash. My first encounter with it was at a friend’s house sometime in my thirties, and I’ll be honest – I was skeptical. A vegetable pretending to be pasta sounded like the kind of compromise that makes everyone a little sad. Then I actually tasted it properly prepared, with a real sauce and melted cheese, and I completely changed my mind.
This stuffed spaghetti squash with veggie Bolognese is one of those recipes that surprised me from the first time I made it. The roasted squash shell becomes a built-in bowl, the strands have this delicate, slightly sweet quality that works beautifully against the deep savory sauce, and when the mozzarella melts and bubbles on top under the broiler – that is the moment where this stops feeling like “healthy food” and starts feeling like actual comfort food. My husband, who would happily eat pasta every night of the week, asked for seconds.
It does take about 45 minutes total because of the roasting time, so this is more of a weekend or relaxed weeknight dinner than a 20-minute quick fix. But here’s the good news: most of that time is completely hands-off. The squash roasts while you make the Bolognese on the stovetop, and both finish at roughly the same time. You’re actively cooking for maybe 15 minutes. The oven handles the rest.
Naturally gluten-free, vegetarian, and easily made vegan with one simple swap – this one works for a lot of different eating styles without feeling like anyone is being accommodated around. If you love hearty vegetarian dinners that don’t leave you reaching for a snack an hour later, my Vegetarian Thai Green Curry is another one that delivers real satisfaction.
Why You Will Like This Stuffed Spaghetti Squash
- Comfort food that’s actually good for you – Melted cheese, rich tomato sauce, and tender squash strands. This tastes indulgent. It is not indulgent. That combination is genuinely rare.
- Naturally gluten-free and vegetarian – No modifications needed for most dietary needs. One swap to dairy-free cheese makes it fully vegan.
- The squash shell is the serving dish – No extra bowls, no plating stress. Just fill the shell, broil, and bring the whole thing to the table. It looks stunning with zero extra effort.
- Hands-off roasting time – The squash spends 30 minutes in the oven while you make the sauce on the stovetop. Active cooking time is about 15 minutes total.
- Rich, deep Bolognese flavor without the meat – Plant-based ground meat and tomato paste build a sauce that has real depth and body. Nobody will miss the beef.
- Great for meal prep – The veggie Bolognese freezes beautifully for up to 3 months. Make a double batch and pull it out whenever you need it.
- Flexible filling options – The base technique stays the same whether you use plant-based meat, lentils, mushrooms, or a combination. Make it your own.
- Impressive enough for guests – The presentation of a broiled, cheese-topped squash half on a plate genuinely wows people. It looks like a restaurant dish.
Stuffed Spaghetti Squash Ingredients
Two components: the roasted squash and the veggie Bolognese. Both are simple. Together they’re something special.
Spaghetti Squash
- 1 medium spaghetti squash
- 1/2 tablespoon olive oil
- 1/2 teaspoon Italian seasoning or Herbs de Provence
- Salt and pepper to taste
- 3/4 cup fresh mozzarella, cubed or shredded
Veggie Bolognese
- 7 oz plant-based ground meat such as Beyond Meat, Gardein, or similar
- 1 tablespoon olive oil
- 1 onion, minced
- 2 cloves garlic, minced
- 1 tablespoon tomato paste
- 1 cup tomato sauce or marinara
- 1 bunch fresh basil, chopped
- 1 teaspoon paprika
- 1/4 teaspoon salt
- 1/4 teaspoon pepper
Ingredient Notes and Shopping Tips
Choosing your spaghetti squash: Look for a firm, heavy squash with a uniform bright yellow color and no soft spots. A medium squash – roughly 3 to 4 pounds – is the sweet spot for this recipe. Too small and the shells are flimsy; too large and the strands get coarser and take longer to roast. Give it a knock – it should sound slightly hollow, which means it’s ripe and ready.
Plant-based ground meat options: Beyond Meat and Gardein are widely available and both work well here. They brown similarly to ground beef and absorb the tomato sauce beautifully. If you’d prefer a more whole-food approach, lentils are an excellent swap – they add a slightly earthier flavor and more fiber, and they create a sauce with a hearty, traditional Bolognese texture. Finely chopped cremini mushrooms also work and add a deep, meaty umami quality.
Tomato paste – don’t skip it: That single tablespoon of tomato paste does serious work in this sauce. It adds concentrated tomato flavor and a slight richness that takes the sauce from thin and acidic to deep and rounded. Cook it for about 60 seconds in the pan before adding the tomato sauce – that brief heat blooms its flavor dramatically.
Fresh mozzarella vs. shredded: Fresh mozzarella melts into those beautiful pools of cheese with slightly irregular edges and a milky flavor that’s hard to replicate. Shredded low-moisture mozzarella melts more evenly and browns better under the broiler if you prefer a more consistent cheesy top. Both are good – it’s a texture preference call. For a vegan version, a good melting dairy-free mozzarella like Violife or Miyoko’s works well here.
Fresh basil: Added generously to the Bolognese, fresh basil is what keeps this sauce tasting bright and herbaceous rather than just heavy. Stir it in at the very end of simmering so the heat doesn’t strip the flavor. If you only have dried, use 1 teaspoon but fresh makes a noticeable difference.
Substitutions That Work
- No plant-based meat? Brown lentils or finely chopped mushrooms create a fantastic meatless Bolognese with a different but equally satisfying texture
- Vegan version: Swap mozzarella for your favorite dairy-free melting cheese or sprinkle with nutritional yeast for a cheesy flavor without dairy
- Different cheese: Parmesan, Gruyere, or feta all bring interesting flavor twists – Parmesan adds sharpness, feta adds tang, Gruyere adds richness
- No spaghetti squash available? Halved and hollowed zucchini boats or roasted eggplant halves work as substitute shells with adjusted roasting times
- Herbs de Provence instead of Italian seasoning: A slightly more floral, lavender-forward herb mix that works beautifully with the sweetness of the squash
How To Make Stuffed Spaghetti Squash With Veggie Bolognese
This is a weekend project recipe – not because it’s complicated, but because the roasting time means you can’t rush it. The upside is that the oven does most of the work while you make the sauce. Here is the full process.
Why We Roast the Squash Cut-Side Down
Preheat your oven to 400 degrees F. Cutting a spaghetti squash safely deserves a mention: the skin is tough and the squash can roll. Use your sharpest knife, place the squash on a folded kitchen towel to prevent rolling, and cut slowly from stem to end. Once halved, scoop out the seeds and stringy center with a large spoon – a grapefruit spoon works particularly well here.
Drizzle the cut sides with olive oil and season with Italian seasoning, salt, and pepper. Then flip them face-down on a parchment-lined baking sheet before roasting. This is the most important technique detail in the whole recipe. Roasting cut-side down allows moisture to escape downward rather than pooling in the squash flesh. The result is strands that are tender and lightly caramelized rather than wet and watery. It makes a significant difference in the final texture.
Roast at 400 degrees F for 30 minutes. The squash is done when you can easily pierce the skin with a fork and the flesh feels tender when pressed from the outside.
Building the Veggie Bolognese While the Squash Roasts
While the squash is in the oven, start the sauce. Heat olive oil in a large skillet over medium heat. Add the minced onion and cook for about 3 minutes until softened and translucent, stirring occasionally. Add the minced garlic and cook for another 30 seconds until fragrant – you’ll smell it immediately.
Add the plant-based ground meat and break it up with a wooden spoon as it cooks. Let it brown for about 5 minutes, giving it occasional space to develop some color on the bottom of the pan rather than stirring constantly. Push the meat to one side and add the tomato paste directly to the empty part of the pan. Let it cook untouched for about 60 seconds – it will darken slightly and smell richer. Then stir everything together.
Pour in the tomato sauce, add the fresh basil, and season with paprika, salt, and pepper. Let the sauce simmer for 5 to 10 minutes, stirring occasionally, until it thickens slightly and the flavors come together. Taste and adjust seasoning before the squash comes out of the oven.
Callie’s Kitchen Note: That step of cooking the tomato paste directly on the hot pan before mixing it in – I almost skipped it the first time because it seemed fussy for a single tablespoon of paste. Don’t skip it. Those 60 seconds of direct heat caramelize the sugars in the tomato paste and deepen the flavor of the entire sauce in a way you can actually taste. It’s one of those small things that makes a real difference.
Scraping the Squash and Assembling
Pull the roasted squash from the oven and flip the halves cut-side up. Let them cool for 5 minutes before handling – the shells hold heat intensely and you need to use a fork to scrape the flesh. Run a fork along the flesh in the direction from stem to end and the strands will pull away in long, noodle-like ribbons. Leave them sitting in the shell – you’re using the shell as the bowl. This is the fun part.
Spoon the veggie Bolognese evenly over the squash strands in each shell, pressing gently so the sauce works its way down into the strands rather than just sitting on top. Top generously with mozzarella, covering the surface so you get full cheese coverage when it melts.
Why the Broil Step Matters
Return the stuffed squash halves to the oven and broil at 400 degrees F for about 10 minutes, until the cheese is fully melted, bubbling, and starting to develop golden spots. Don’t skip this step. The broil does two things: it finishes melting the cheese into that glossy, slightly browned layer and it warms everything back up together so the sauce and squash strands are fully hot when they hit the table. A stuffed squash that goes straight to the table without broiling is lukewarm in the center and the cheese is barely melted. The broil step is what makes this dish genuinely great.
Callie’s Kitchen Note: Keep an eye on it during the broil. Broilers vary a lot in intensity and the difference between beautifully golden cheese and burnt cheese is about 2 minutes. I check mine at the 7-minute mark every time. When the cheese is bubbling and just starting to show golden-brown patches, it’s done. Pull it and serve immediately.
Common Mistakes To Avoid
Spaghetti squash is straightforward but a few easy missteps can affect the texture and result. Here’s what to watch for.
Roasting cut-side up instead of down. This is the most common mistake and it produces watery squash strands that make the whole filling soggy. Always roast face-down on the pan so moisture escapes rather than pooling in the flesh. The difference in texture between the two methods is dramatic.
Overcooking the squash. Tender strands with a little bite is what you’re after – not mush. Start checking at 28 minutes by pressing the outside of the squash skin gently. It should give slightly. If you push a fork through the skin easily, it’s done. Overcooked squash produces strands that fall apart and turn watery when the sauce goes on top.
Adding the tomato sauce cold. Pour cold tomato sauce directly into a hot pan and the sauce temperature drops immediately, stalling the simmer and adding several extra minutes before it gets back up to heat. Let your sauce sit at room temperature for a few minutes before using, or warm it slightly in the microwave. Small thing, but it keeps the cooking time tight.
Skipping the broil step. Already mentioned this above but it’s worth repeating. The stuffed squash needs that final 10 minutes under the broiler to melt the cheese properly and bring every component up to the right temperature together. Serving without broiling gives you a lukewarm, under-melted result.
Not seasoning the squash before roasting. The squash flesh absorbs salt and seasoning during roasting in a way it can’t after the fact. Season the cut sides generously with Italian seasoning, salt, and pepper before they go into the oven. Those 30 roasting minutes do real flavor work if you let them.
Storage And Reheating
Leftover stuffed spaghetti squash keeps reasonably well, though the texture is best fresh from the oven.
Fridge: Store in an airtight container for up to 2 days. The squash strands will release a little more moisture as they sit, which is normal. A quick drain before reheating helps.
Freeze the sauce separately: The veggie Bolognese freezes beautifully for up to 3 months. Portion it into freezer bags or containers and thaw overnight in the fridge. Make a double batch of the sauce and you’ve got the hard part of this recipe ready to go for future dinners. Fresh roasted squash takes 30 minutes – having the sauce already made cuts your active time significantly.
Reheating Options
- Oven (best for the full assembled dish): Place in an oven-safe dish and cover loosely with foil. Reheat at 355 degrees F for 20 minutes. Remove the foil for the last 5 minutes to re-melt the cheese.
- Microwave (quickest): Transfer to a microwave-safe bowl – the squash shell itself gets very hot and uneven in the microwave. Heat in 30-second intervals, stirring gently between each, until warmed through.
- Stovetop for the sauce only: If you’ve stored the components separately, reheat the Bolognese in a small saucepan over low heat with a splash of water to loosen it, then spoon over freshly roasted squash.
Next-Day Ideas
Scrape any leftover squash strands and Bolognese out of the shell and toss together in a skillet with a drizzle of olive oil for a quick lunch. It’s essentially a vegetable pasta at that point and it reheats in about 3 minutes. Top with a little extra Parmesan and you have something genuinely satisfying from last night’s leftovers.
Stuffed Spaghetti Squash Variations
Once you’ve made this once, here are some directions worth exploring.
Lentil Bolognese: Replace the plant-based ground meat with 1 cup of cooked brown or green lentils. Add them after sauteing the onion and garlic and proceed exactly as written. The sauce is earthier, heartier, and has a beautiful texture. This is my preferred version for a more whole-food approach.
Mushroom Bolognese: Use 10 ounces of finely chopped cremini or portobello mushrooms instead of plant-based meat. Cook them over medium-high heat until they release their liquid and begin to brown – about 8 minutes. The umami depth from properly browned mushrooms is genuinely impressive in a Bolognese sauce.
Spicy Arrabiata Version: Add 1/2 teaspoon of red pepper flakes to the sauce and swap the tomato sauce for an arrabiata-style marinara. Finish with extra fresh basil and a drizzle of good olive oil. Bold and bright.
Creamy Tuscan Version: After simmering the Bolognese, stir in 2 tablespoons of cream cheese or a splash of heavy cream and a handful of baby spinach. The sauce becomes rich and silky in a completely different direction from the original.
Fall Edition: Mix a quarter cup of pumpkin puree into the Bolognese sauce and season with a pinch of cinnamon and nutmeg alongside the paprika. Top with a blend of mozzarella and Gruyere. Warm, seasonal, and genuinely cozy.
Keto-Friendly Alfredo Version: Skip the tomato sauce entirely. Make a simple alfredo by combining cream cheese, heavy cream, garlic, and Parmesan in a saucepan until smooth. Toss with the squash strands and top with mozzarella before broiling. Rich, creamy, and nearly carb-free.
High-Protein Version: Add a can of drained chickpeas or white beans to the Bolognese along with the plant-based meat. They blend into the sauce and add substantial protein and fiber without changing the flavor profile.
Serving Suggestions
The stuffed squash halves are a complete meal on their own – protein, vegetables, and a satisfying sauce all in one shell. But here’s how to build a fuller spread around them.
For a simple weeknight dinner: Serve each squash half as is with a simple arugula salad dressed in lemon and olive oil alongside. The peppery arugula cuts through the richness of the melted cheese and sauce beautifully.
For a heartier meal: A side of garlic bread for soaking up extra Bolognese sauce turns this into a genuinely filling dinner. A simple Caesar salad alongside rounds it out nicely.
For a dinner party: Serve each guest their own squash half on a warmed plate. Scatter extra torn fresh basil and a few shavings of Parmesan over the top right before serving. It looks absolutely stunning and your guests will assume you spent hours on it.
Presentation tip: The squash halves hold their heat well, but serve them as soon as they come out from under the broiler while the cheese is still bubbling. That’s the peak moment for both presentation and texture.
Beverage pairings: A light-bodied Pinot Noir is the classic choice with a tomato-based vegetarian dish – it has enough fruit to complement the sweetness of the squash without overpowering the basil. Crisp Sauvignon Blanc works beautifully too. For non-alcoholic, a basil-infused sparkling water or a simple sparkling water with a squeeze of lemon freshens everything up.

Stuffed Spaghetti Squash FAQ
Yes, and it requires exactly one swap: replace the mozzarella with a dairy-free melting cheese. Violife, Miyoko’s, and Follow Your Heart all melt reasonably well under the broiler. Nutritional yeast sprinkled over the top before broiling is another option – it adds a nutty, cheesy flavor without any dairy and browns nicely under the heat.
Everything else in this recipe is already vegan. The plant-based ground meat brands mentioned (Beyond Meat, Gardein) are all vegan, and the Bolognese sauce is built on olive oil and vegetables. One ingredient swap and this becomes a fully plant-based dinner.
Two things make the biggest difference. First, always roast cut-side down. This allows moisture to drain away from the flesh onto the pan rather than pooling inside the squash. Second, don’t overcook it. Overcooked spaghetti squash releases significantly more water than properly cooked squash. Check it at 28 minutes and pull it as soon as the flesh is fork-tender with a little firmness remaining.
After scraping the strands, if they look wet, blot them gently with a paper towel before adding the Bolognese. A small amount of residual moisture is fine and actually helps carry the sauce into the strands. You just don’t want pools of liquid sitting in the shell before the sauce goes in.
Large zucchini halved lengthwise and hollowed work well as individual serving boats. Roast them cut-side up at 400 degrees F for just 15 to 20 minutes before adding the filling and broiling. Roasted eggplant halves are another option with a richer, more buttery texture. Bell pepper halves work too for a completely different presentation and need no roasting before filling – just stuff and bake at 375 degrees F for 25 minutes.
The flavor profile of the Bolognese works with all of these vessels. The squash is just the most dramatic and impressive presentation of the group.
Yes, and this is one of my favorite ways to make this recipe genuinely weeknight-friendly. Roast the squash halves up to 2 days ahead, let them cool completely, and store face-down in an airtight container in the fridge. When you’re ready to eat, make the Bolognese fresh, scrape and fluff the strands, fill, and broil. The total active time on the day you’re eating drops to about 20 minutes.
The veggie Bolognese also keeps in the fridge for 3 days and freezes for 3 months. Having both components made ahead means assembly is literally just scraping, filling, and broiling. Dinner in 15 minutes from a recipe that normally takes 45.
Almost always overcooking. Spaghetti squash goes from perfect to mushy in a short window and the strands lose their structure quickly past that point. Next time, start checking at 25 minutes by pressing the outside of the skin. It should feel slightly giving but not completely soft. The strands should hold their shape when scraped with a fork – not dissolve or stick together.
If your squash was particularly large, it may simply need more time, but check frequently in 5-minute increments rather than setting a long timer and walking away.
Absolutely. Ground turkey, ground chicken, or lean ground beef all work in place of the plant-based meat. Brown the meat the same way – break it up in the pan over medium heat until cooked through, then proceed with the tomato paste and sauce. Ground turkey is a particularly good option if you want animal protein but want to keep the dish on the lighter side. Use the same 7-ounce quantity and the timing stays the same.
Recipes You May Like
If you loved this stuffed spaghetti squash with veggie Bolognese and want more hearty, satisfying vegetarian dinners, these are three worth adding to your list:
- Vegetarian Thai Green Curry – Bold, coconut-rich, and packed with vegetables. One of the most satisfying plant-based dinners on the blog and ready in about 30 minutes.
- Three-Layer Vegetable Lasagna – When you want that same deep, cheesy, tomato-sauce comfort of this dish but in a classic lasagna form. A true crowd-pleaser that works for vegetarians and meat-eaters alike.
- Black Bean Sweet Potato Enchiladas – The title says it all. A completely different flavor direction but the same spirit of a hearty, satisfying vegetarian dinner that nobody misses the meat in.
Conclusion
This stuffed spaghetti squash with veggie Bolognese is one of those recipes that earns a permanent spot in your dinner rotation not because it’s easy (though it mostly is) but because it’s genuinely, surprisingly delicious. The combination of sweet roasted squash strands, rich plant-based tomato sauce, and bubbling melted mozzarella is comfort food that happens to be nutritious – and that combination is hard to find.
Master the roast-cut-side-down technique, don’t skip the tomato paste step, and always finish under the broiler. Do those three things and this will come out beautifully every single time. Try it this weekend when you have a little more time to let the oven do its work, and come back to tell me in the comments how it went. And save this on Pinterest – it’s one of those recipes you’ll want to find again the next time you’re looking for something a little special on a weeknight.
Happy cooking, friends!
Callie


Stuffed Spaghetti Squash with Veggie Bolognese
This Stuffed Spaghetti Squash with Veggie Bolognese is a hearty, flavorful, and wholesome meal that’s naturally gluten-free and vegetarian. Tender spaghetti squash “noodles” are roasted to perfection, then stuffed with a rich, savory plant-based Bolognese sauce and topped with melted mozzarella cheese. It’s an easy, comforting dish that’s perfect for meal prep or a cozy dinner.
- Prep Time: 15 minutes
- Cook Time: 40 minutes
- Total Time: 55 minutes
- Yield: 2 servings 1x
- Category: Main Course
- Method: Roasting, Sautéing
- Cuisine: Italian-Inspired
- Diet: Vegetarian
Ingredients
For the Spaghetti Squash
- 1 medium spaghetti squash
- ½ tablespoon olive oil
- ½ teaspoon Italian seasoning or Herbs de Provence
- Salt & pepper to taste
- ¾ cup fresh mozzarella cheese, cubed or shredded (or dairy-free cheese for a vegan version)
For the Veggie Bolognese
- 7 oz plant-based ground “beef” (such as Gardein, Beyond Meat, or your favorite brand)
- 1 tablespoon olive oil
- 1 onion, minced
- 2 cloves garlic, minced
- 1 tablespoon tomato paste
- 1 cup tomato sauce or marinara sauce
- 1 bunch fresh basil, chopped
- 1 teaspoon paprika
- ¼ teaspoon salt
- ¼ teaspoon pepper
Instructions
- Preheat the oven to 400°F (200°C).
- Carefully cut the spaghetti squash in half lengthwise using a sharp knife. Scoop out and discard the seeds and membranes.
- Drizzle each squash half with olive oil, then season with Italian seasoning, salt, and pepper.
- Place the squash cut-side down on a parchment-lined baking sheet and roast for 30 minutes or until the flesh is tender and easily scraped with a fork.
- Meanwhile, heat a skillet over medium heat with olive oil. Sauté the onion and garlic for 3 minutes until translucent.
- Add the plant-based ground meat and cook for another 5 minutes, breaking it up as it browns.
- Stir in the tomato paste, tomato sauce, and fresh basil. Simmer for 5-10 minutes, then season with paprika, salt, and pepper.
- Remove the spaghetti squash from the oven and let it cool slightly. Use a fork to scrape and fluff the flesh into spaghetti-like strands.
- Spoon the veggie Bolognese evenly into each squash half, then top with mozzarella cheese.
- Return the stuffed squash to the oven and broil for another 10 minutes at 400°F until the cheese is melted and bubbly.
- Serve hot, garnished with extra basil if desired.
Notes
- Vegan Option: Use dairy-free cheese or nutritional yeast for a plant-based version.
- Storage: Store leftovers in an airtight container in the fridge for up to 2 days.
- Reheating: Warm in the oven at 355°F (180°C) for 20 minutes or microwave in 30-second intervals.
- Swap It Up: Replace plant-based ground beef with lentils or finely chopped mushrooms for a whole-food variation.
Nutrition
- Serving Size: 1 stuffed squash half
- Calories: 290 kcal
- Sugar: 6g
- Sodium: 520mg
- Fat: 14g
- Saturated Fat: 4g
- Unsaturated Fat: 8g
- Trans Fat: 0g
- Carbohydrates: 26g
- Fiber: 5g
- Protein: 14g
- Cholesterol: 12g











