clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Copper spoon stirring creamy mushroom sauce in a shallow skillet.

Perfect Creamy Mushroom Sauce

5 Stars 4 Stars 3 Stars 2 Stars 1 Star 4.8 from 5 reviews
  • Author: Jessie
  • Prep Time: 15 minutes
  • Cook Time: 20 minutes
  • Total Time: 35 minutes
  • Yield: Makes about 3 cups 1x
  • Category: Sauce
  • Cuisine: American
  • Diet: Vegetarian


This easy, creamy mushroom sauce is perfect for pasta, chicken, gnocchi, and more!


  • 2 Tablespoons olive oil
  • 8 ounces baby portobello mushrooms, cleaned and sliced (about 3 cups)
  • 2 cloves garlic, minced
  • 1/2 large yellow onion, chopped (about 1/2 cup)
  • salt and pepper to taste
  • 2 Tablespoons flour
  • 1 1/2 cups milk
  • 2/3 cup shredded parmesan cheese


  1. In a wide pan, heat olive oil over medium heat. 
  2. Add mushrooms to oil and sauté, stirring occasionally, until mushrooms have reduced in size and begun to brown, about 6-8 minutes.
  3. Add garliconion, salt, and pepper to pan and stir to combine. Cook, stirring occasionally, for 4-5 minutes until onion is soft and translucent.
  4. Add flour to pan and stir to form a roux. If the pan looks especially dry, add an extra splash of olive oil and stir until no dry flour remains. Let cook for 30 seconds or so to cook out any raw flour taste.
  5. Add milk to sauce a little at a time, stirring constantly to break up any lumps of flour. Bring sauce to a simmer and cook, stirring occasionally, for 5-8 minutes or until sauce has thickened slightly.
  6. Turn off the heat and stir in the parmesan cheese. Taste and add salt and pepper if necessary. Serve immediately.


Additions and Substitutions. Use butter or avocado oil instead of olive oil. Use white button or cremini mushrooms in place of part or all of the portobellos if you prefer. Use 1/2 cup white wine or stock in place of 1/2 cup of milk. Add your favorite veggies (broccoli, peas, kale, spinach, etc.) or protein (chicken, shrimp, Italian sausage) to make this sauce a little heartier. Add fresh or dried herbs (we like sage, rosemary, and thyme) or a pinch of nutmeg for a flavor boost. Finish the sauce with a squeeze of lemon or a dash of fish sacue for extra brightness. Use goat cheese, white cheddar, asiago, or gruyere in place of the parmesan if you like. For a full list of additions, riffs, and substitutions, be sure to read through the post above.

Use a wide pot for best results. More surface area lets the mushrooms spread out so they sauté properly (as opposed to steaming, which can result in rubbery, soggy mushrooms). 

Shred your own parmesan. Pre-shredded cheeses are often coated with preservatives that prevent them from melting smoothly. For best results, use a good parmigiano-reggiano cheese, and shred it yourself.

Don't skip the salt! This is a simple sauce, so seasoning is especially important. Taste the sauce as you go and add salt to help the flavors pop. If you don't want to add salt, you can also add white wine, herbs, lemon, or a dash of fish sauce for extra flavor. (See the post above for a full walkthrough of additions & substitutions).

Vegetarian and Vegan/Dairy-Free options. Strict vegetarians should look for a parmesan cheese made without rennet. To make this recipe vegan, swap almond milk or coconut milk for the milk and replace the parmesan with a bit of nutritional yeast (or omit it!) You can also swap our favorite vegan cauliflower cream sauce for the milk and flour here!

Serve this mushroom sauce with pasta, gnocchi, roasted spaghetti squash, chicken, salmon, or steak, or use it as the base for a white lasagna.

Storage and Freezing. Let sauce cool completely and store in an airtight container in the fridge for 3-4 days, or in the freezer for up to 3 months without losing flavor. To reheat, warm sauce in a small saucepan over medium-low heat, stirring frequently, until hot. Add a splash of milk, cream, or stock if needed to thin the sauce and bring it back together. If you shred your own good parmesan, the sauce shouldn't separate upon reheating.