Prepare the gnocchi according to package instructions. Usually, this means boiling in salted water for 2-3 minutes until they float to the surface. Drain and set aside, reserving 1/4 cup of the cooking water.
Heat olive oil and 1 tablespoon butter in a large skillet over medium-high heat. Once hot, add the mushrooms and let them cook undisturbed for 3-4 minutes until they begin to brown. Season with a pinch of salt and pepper.
Stir the mushrooms and continue cooking for another 2-3 minutes until golden brown all over. Transfer to a plate and set aside.
Reduce heat to medium and add the remaining 2 tablespoons of butter to the same pan. Add the shallots and cook for 2 minutes until softened and translucent.
Add the minced garlic and cook for just 30 seconds until fragrant, being careful not to let it brown or burn.
Sprinkle in the smoked paprika and red pepper flakes (if using), stirring quickly to toast the spices for about 15-20 seconds, releasing their aromatic oils.
Pour in the broth and use a wooden spoon to scrape up any flavorful bits from the bottom of the pan. Let it reduce slightly for about 1 minute.
Add the heavy cream and bring the mixture to a gentle simmer. Cook for 2-3 minutes until it starts to thicken slightly.
Stir in the Parmesan cheese until completely melted and the sauce is smooth. If the sauce seems too thick, add a splash of the reserved gnocchi cooking water.
Return the mushrooms to the pan and add the drained gnocchi, gently tossing to coat everything in the sauce.
Add the spinach in batches, stirring until it just wilts into the sauce, about 1-2 minutes.
Taste and adjust seasonings with salt and pepper as needed. The sauce should coat the back of a spoon but still be loose enough to envelope the gnocchi.
Serve immediately in warmed bowls, topped with additional grated Parmesan, a light sprinkle of smoked paprika, and fresh herbs if desired.