Creamy Mushroom Wild Rice Soup
There’s nothing quite like a steaming bowl of soup on a chilly day, and this creamy mushroom wild rice soup is pure comfort in a bowl. It’s rich, hearty, and completely plant-based – but you’d never know it.

I love making this when the weather turns cool because the earthy mushrooms, nutty wild rice, and creamy broth fill the kitchen with the most delicious aroma. Paired with warm, crusty bread, it’s the kind of meal that makes you want to linger at the table a little longer.
If you love soups like my Creamy Butternut Squash Soup, Broccoli Cheddar Soup, or Creamy Asparagus Soup, you’ll definitely want to add this one to your rotation.

Why You’ll Love This Recipe
- Hearty and Satisfying: The wild rice and mushrooms give this soup a stick-to-your-ribs feel.
- Naturally Creamy: Oat milk and a simple roux create a luscious, dairy-free base.
- Packed with Flavor: A mix of herbs, sautéed veggies, and mushrooms makes every bite delicious.
- Easy to Customize: Swap the mushrooms, herbs, or broth to suit your taste.
Ingredients

- Shallots: These bring a mild, slightly sweet onion flavor that balances the earthy mushrooms.
- Celery: Adds a crisp, aromatic base that works beautifully with the herbs.
- Carrots: Bring a hint of natural sweetness and extra color to the soup.
- Button or Crimini Mushrooms: Provide a savory, umami depth that makes this soup rich and flavorful.
- Olive Oil: Used for sautéing the vegetables and mushrooms, adding richness to the broth.
- All-Purpose Flour: Helps create a roux that thickens the soup for that creamy, chowder-like texture.
- Dried Thyme: Lends a warm, herby note that pairs perfectly with mushrooms.
- Dried Sage: Brings a subtle earthiness and cozy fall flavor.
- Ground Black Pepper: Balances the flavors with just the right touch of heat.
- Salt: Enhances the natural flavors of the vegetables and broth.
- Wild Rice: Adds a nutty flavor and chewy texture, making the soup hearty and filling.
- Vegetable Broth: Creates the base of the soup, carrying all the flavors together.
- Oat Milk: Gives a creamy finish without dairy, keeping the soup light but rich.
- Chives: A fresh, colorful garnish that brightens the final dish.
Substitutions and Additions
- Swap Shallots for Onions: Yellow or sweet onions work just as well if you don’t have shallots.
- Mix Mushroom Varieties: Try oyster, shiitake, or morels for deeper flavor – just use stronger varieties sparingly.
- Make It Gluten-Free: Replace flour with 2 tablespoons cornstarch or a gluten-free all-purpose blend.
- Use Different Herbs: Rosemary or marjoram can add a different twist to the flavor profile.
- Add Greens: A handful of spinach or kale stirred in at the end adds color and nutrients.
Step by Step Instructions

Step 1: Prep the Vegetables
Peel and finely dice the shallots and carrots (about ¼-inch pieces so they soften quickly). Dice the celery the same size for even cooking.
Rinse the wild rice in a fine-mesh sieve under cold water for 10–15 seconds to remove any dust (optional, but it can help the grains cook more evenly).

Step 2: Clean and Slice the Mushrooms
Avoid soaking mushrooms in water (they’ll absorb it and won’t brown well). Instead, wipe with a damp towel or quickly rinse and pat very dry. Slice into ¼-inch pieces so they sear rather than steam.


Step 3: Sauté the Mushrooms
Heat 2 tablespoons olive oil in a 5–6 quart pot or Dutch oven over medium to medium-high heat. Add the mushrooms in an even layer (work in two batches if needed to avoid crowding).
Cook 5–7 minutes, stirring occasionally, until they release their moisture and the edges turn golden. Season with a small pinch of salt, transfer to a bowl, and set aside.


Step 4: Soften the Aromatics
Lower the heat to medium and add the remaining 2 tablespoons olive oil. Stir in the diced shallots, celery, and carrots with a small pinch of salt.
Cook 3–5 minutes, stirring occasionally, until the shallots look translucent and the celery begins to soften. Use a wooden spoon to scrape up any browned bits from the bottom of the pot – they add flavor.


Step 5: Build the Roux and Bloom the Spices
Sprinkle the flour over the vegetables and stir continuously for 1–2 minutes. The mixture will look pasty and then slightly glossy; it should smell lightly toasty, not raw. Stir in the thyme, sage, and black pepper and cook 30 seconds to bloom the herbs.



Step 6: Add the Rice and Deglaze with Broth
Stir in the wild rice to coat it in the roux. Slowly pour in the vegetable broth in 2–3 additions, stirring well after each to prevent lumps and to fully deglaze the pot. Scrape the bottom and corners so nothing sticks.

Step 7: Return Mushrooms and Simmer
Add the sautéed mushrooms (and any juices in the bowl) back to the pot. Bring to a gentle boil, then reduce to a steady simmer. Partially cover and cook 30–40 minutes, stirring every 8–10 minutes to keep the rice from settling.
Start checking at 30 minutes; the wild rice is done when some grains have split and all are pleasantly chewy-tender. If the liquid reduces too quickly, stir in ½ cup hot water or broth to maintain a soup-like consistency.


Step 8: Finish with Oat Milk
Turn off the heat. Stir in the oat milk until the soup looks silky and creamy. Avoid boiling after adding the oat milk to keep the texture smooth. Taste and adjust salt and pepper as needed (the amount of salt you need will depend on your broth).

Step 9: Rest, Garnish, and Serve
Let the soup rest 5 minutes – it thickens slightly as the rice settles. Ladle into bowls and garnish with chopped chives. Serve warm. Enjoy!
Tips and Notes
- Undercook for Make-Ahead: If making ahead, cook the rice for only 30 minutes so it doesn’t get mushy when reheated.
- Adjust Salt Carefully: If your broth is salty, add less at the start and adjust at the end.
- Use Multiple Mushrooms: Combining different varieties creates a more complex flavor.
- Don’t Skip the Roux: It’s what gives the soup its creamy, comforting consistency.
- Cut Veggies Evenly: Uniform pieces help everything cook at the same rate for the best texture.
- Simmer Gently: Keep the heat low once it’s simmering to prevent the rice from breaking apart and the oat milk from curdling.
Serving Suggestions
- With Crusty Bread: Perfect for soaking up every bit of creamy broth.
- Over Mashed Potatoes: For an extra-hearty twist.
- With a Simple Salad: A fresh green salad balances the richness of the soup.

Storage and Reheating Instructions
- Refrigerate: Let the soup cool to room temperature, then transfer it to an airtight container. Store in the fridge for up to 3 days. Keep in mind that the rice will continue to absorb liquid as it sits, so the soup will thicken over time.
- Freeze: For best results, freeze before adding the oat milk. Portion into freezer-safe containers, leaving a little room at the top for expansion, and freeze for up to 2 months. Thaw in the fridge overnight before reheating.
- Reheat on the Stove: Warm over low to medium heat, stirring occasionally, until heated through. Add a splash of broth or water to loosen if it’s too thick. If you froze the soup without oat milk, stir it in once the soup is hot.
- Reheat in the Microwave: Transfer to a microwave-safe bowl, cover loosely, and heat in 1–2 minute bursts, stirring between each, until hot. Add extra liquid as needed to reach your preferred consistency.
Want more comforting vegetarian soup recipes? Be sure to check out my collection of 10 Hearty Vegetarian Soups!

Creamy Mushroom Wild Rice Soup
Ingredients
- 2 –3 medium shallots diced
- 1 rib celery diced
- 1 medium or 2 small carrots peeled and diced
- 1 pound button or crimini mushrooms sliced
- 4 tablespoons olive oil divided
- 3 tablespoons all-purpose flour
- 1 teaspoon dried thyme
- 1 teaspoon dried chopped sage or ½ teaspoon ground sage
- ½ teaspoon ground black pepper
- 1 teaspoon salt divided
- ¾ cup wild rice uncooked
- 4 cups vegetable broth
- 1 cup oat milk
- Chives for garnish
Instructions
- Peel and finely dice the shallots and carrots (about ¼-inch pieces so they soften quickly). Dice the celery the same size for even cooking.
- Rinse the wild rice in a fine-mesh sieve under cold water for 10–15 seconds to remove any dust (optional, but it can help the grains cook more evenly).
- Avoid soaking mushrooms in water (they’ll absorb it and won’t brown well). Instead, wipe with a damp towel or quickly rinse and pat very dry. Slice into ¼-inch pieces so they sear rather than steam.
- Heat 2 tablespoons olive oil in a 5–6 quart pot or Dutch oven over medium to medium-high heat. Add the mushrooms in an even layer (work in two batches if needed to avoid crowding).
- Cook 5–7 minutes, stirring occasionally, until they release their moisture and the edges turn golden. Season with a small pinch of salt, transfer to a bowl, and set aside.
- Lower the heat to medium and add the remaining 2 tablespoons olive oil. Stir in the diced shallots, celery, and carrots with a small pinch of salt.
- Cook 3–5 minutes, stirring occasionally, until the shallots look translucent and the celery begins to soften. Use a wooden spoon to scrape up any browned bits from the bottom of the pot – they add flavor.
- Sprinkle the flour over the vegetables and stir continuously for 1–2 minutes. The mixture will look pasty and then slightly glossy; it should smell lightly toasty, not raw. Stir in the thyme, sage, and black pepper and cook 30 seconds to bloom the herbs.
- Stir in the wild rice to coat it in the roux. Slowly pour in the vegetable broth in 2–3 additions, stirring well after each to prevent lumps and to fully deglaze the pot. Scrape the bottom and corners so nothing sticks.
- Add the sautéed mushrooms (and any juices in the bowl) back to the pot. Bring to a gentle boil, then reduce to a steady simmer. Partially cover and cook 30–40 minutes, stirring every 8–10 minutes to keep the rice from settling.
- Start checking at 30 minutes; the wild rice is done when some grains have split and all are pleasantly chewy-tender. If the liquid reduces too quickly, stir in ½ cup hot water or broth to maintain a soup-like consistency.
- Turn off the heat. Stir in the oat milk until the soup looks silky and creamy. Avoid boiling after adding the oat milk to keep the texture smooth. Taste and adjust salt and pepper as needed (the amount of salt you need will depend on your broth).
- Let the soup rest 5 minutes – it thickens slightly as the rice settles. Ladle into bowls and garnish with chopped chives. Serve warm. Enjoy!