Browse Recipes › Hearty Vegetable Bolognese
Hearty Vegetable Bolognese

Hearty Vegetable Bolognese

A rich, satisfying vegetarian take on classic Bolognese sauce, built layer by layer with diced portobello mushrooms as the meat substitute, a traditional soffritto of onion, carrot, and celery, red wine, canned tomatoes, and a touch of milk to marry the flavors. Served over orecchiette pasta with Parmigiano-Reggiano.

smart_display Published 2025-04-21 download Extracted 2026-04-18
20m Prep
75m Cook
1h 35m Total
4 Servings

Ingredients

  • 4 large caps portobello mushrooms (gills and stem removed, diced small)
  • 1 large sweet onion (diced)
  • 3 medium carrots (shredded with a cheese grater)
  • 2 stalks celery stalks (diced very small)
  • 2 tbsp garlic (chopped)
  • a few sprigs fresh thyme (leaves only (or substitute sage or rosemary — pick one))
  • 2 tbsp olive oil
  • 12 oz red wine (a wine you would drink)
  • 2 cups vegetable stock
  • 28 oz canned whole peeled tomatoes (crushed or roughly chopped)
  • 4 oz tomato paste
  • 1 cup whole milk (added in stages) optional
  • 1 tsp harissa (mild or spicy) optional
  • to taste salt (porcini mushroom salt preferred, or kosher salt)
  • to taste black pepper
  • a large handful fresh basil (roughly chopped, added at the end)
  • for garnish fresh parsley (chopped) optional
  • 1 lb orecchiette pasta (cooked al dente, reserve some pasta water)
  • 1 tbsp butter (for tossing with hot pasta) optional
  • for serving Parmigiano-Reggiano (freshly grated) optional

Steps

  1. 1
    Remove the gills and stems from the portobello mushrooms — the gills turn dark and unpleasant, and the stem has little flavor. Dice the mushroom caps into small pieces to replace the meat.
    Tip: The smaller the dice, the more it mimics ground meat in the final sauce.
    ~10 min
  2. 2
    Heat 2 tablespoons of olive oil in a large Dutch oven or heavy pot over medium-high heat. Add the diced onion and cook until lightly golden.
    ~5 min
  3. 3
    Crank the heat to high and add the diced portobello mushrooms. Season with salt (porcini mushroom salt is excellent here). Sauté on high heat, stirring occasionally, until all the water has evaporated and the mushrooms are nicely browned and develop a firm, meaty texture.
    Tip: Do not add the mushrooms on low heat — high heat is essential to drive off the moisture and get good color. Salt helps draw out the water faster.
    ~10 min
  4. 4
    Add the shredded carrots and finely diced celery to the pot. Add the fresh thyme (or your chosen herb — pick only one: sage or rosemary). Continue sautéing and sweating the vegetables until softened.
    Tip: Use only one herb — mixing thyme, rosemary, and sage together confuses the palate and muddies the flavor.
    ~8 min
  5. 5
    Add 1.5 to 2 tablespoons of chopped garlic. Stir and cook until fragrant, about 1 minute.
    ~1 min
  6. 6
    Pour in about 12 oz (a glass and a half) of red wine. Bring to a boil and let it reduce by half, stirring occasionally. Taste it — when it's smooth and the harsh alcohol edge is gone, it's ready.
    Tip: Only cook with wine you'd actually drink. Cooking wine is not a substitute — poor wine makes a poor sauce.
    ~10 min
  7. 7
    Add approximately 2 cups of vegetable stock, the entire 28 oz can of crushed or chopped tomatoes, and 4 oz of tomato paste. Stir to combine. The tomato paste adds body and compensates for the water in canned tomatoes.
    ~3 min
  8. 8
    Season with salt and black pepper. Add a small amount of harissa for warmth and complexity. Add a splash of milk now — you'll add more later. Stir everything together.
    Tip: Harissa is a Moroccan-style hot sauce/paste — use mild for subtle warmth, spicy for a kick.
    ~2 min
  9. 9
    Bring the sauce to a boil, then reduce the heat to a very gentle simmer — just a slow bloop-bloop. Do NOT cover the pot. Let it simmer uncovered for about 1 hour, stirring occasionally, until it thickens and the excess water from the tomatoes has evaporated. The acidity is in the water, so letting it cook off is key.
    Tip: Never cover a tomato sauce — you want the water to escape. The longer it simmers, the richer and more concentrated the flavor becomes.
    ~60 min
  10. 10
    After the sauce has simmered, add the remaining milk to reach a total of 1 cup. Also add a generous handful of freshly chopped basil. Stir and taste — adjust salt and pepper as needed.
    Tip: Milk is the traditional secret of Bolognese — it softens the acidity of the tomatoes and marries all the ingredients together.
    ~3 min
  11. 11
    Cook the orecchiette pasta in well-salted boiling water according to package directions until al dente. Reserve a cup of pasta water before draining.
    Tip: Orecchiette means 'little ears' in Italian — the cup-shaped pasta catches the chunky sauce perfectly.
    ~10 min
  12. 12
    Drain the pasta and add a small knob of butter while the pasta is still hot. Add the Bolognese sauce to the pasta pot and toss everything together, adding a splash of the reserved pasta water if needed to loosen the sauce.
    ~3 min
  13. 13
    Serve in bowls, garnished with freshly grated Parmigiano-Reggiano, fresh basil leaves, and chopped parsley. Serve immediately while piping hot.
    Tip: Serve the sauce to non-vegetarian friends without telling them it's meatless — they'll never know!
    ~2 min

Nutrition (per serving)

520
Calories
18g
Protein
72g
Carbs
16g
Fat
8g
Fiber
Cultural Context
Bolognese (ragù alla bolognese) is a classic meat-based sauce from Bologna, Italy, traditionally made with a soffritto of onion, celery, and carrot, ground meat, wine, and a touch of milk — the milk being the secret ingredient that softens the acidity and marries the flavors. Chef Jean-Pierre reimagines this Italian classic for vegetarians by replacing the meat and sausage with diced portobello mushrooms, which provide a meaty texture and umami depth. The addition of harissa adds a subtle North African warmth that elevates the sauce beyond a simple substitution.
Video thumbnail
Chef Jean-Pierre
Hearty Vegetable Bolognese A rich, meaty flavor—without the meat! | Chef Jean-Pierre
Watch on YouTube →

You might also like