Bring a large pot of salted water to a boil. Cook pasta according to package directions until al dente. Reserve 1 cup pasta water, then drain.
While pasta cooks, heat olive oil and 2 tbsp butter in a large skillet over medium-high heat. Add mushrooms and cook, stirring occasionally, until golden brown and liquid has evaporated, about 6-8 minutes.
Reduce heat to medium. Add remaining 2 tbsp butter and garlic; cook for 1 minute until fragrant.
Pour in wine (or broth) and scrape up any browned bits. Simmer until reduced by half, about 2 minutes.
Stir in heavy cream and Parmesan cheese. Season with salt and pepper. Simmer for 2 minutes until slightly thickened.
Add drained pasta to the skillet, tossing to coat. If too thick, add reserved pasta water a little at a time until desired consistency.
Serve immediately, garnished with parsley and red pepper flakes if using.
Tips
Use a mix of mushrooms for better flavor and texture.
For a lighter version, substitute half-and-half for heavy cream.
Store leftovers in an airtight container in the fridge for up to 3 days.