Heat the olive oil in a large heavy pot over high heat. Cook the mushrooms, undisturbed, until browned underneath, 3 to 4 minutes. Toss and continue to cook, until browned on both sides and tender, 4 to 5 minutes more. Season with salt and pepper and transfer to a medium heatproof bowl.
Reduce the heat to medium and add the butter, onion, garlic and serrano and cook, stirring often, until the onions are translucent and softened, about 6 minutes. Add the spinach and 1/4 cup water, cover and cook until the spinach is wilted, about 5 minutes. Return the mushrooms to pot.
Meanwhile, boil the pasta, stirring occasionally, until just under al dente, about 2 minutes less than the package directs.
Reserve 3/4 cup of the pasta cooking liquid and drain the pasta. Transfer the pasta and reserved cooking liquid to the pot with the spinach and mushrooms and add the crema. Bring to a boil and reduce to a simmer over medium heat, tossing the pasta constantly, until the pasta has fully cooked through and has absorbed some of the liquid, about 3 minutes. The sauce should be thick and creamy and will continue to thicken as it sits.
Remove the pot from the heat. Add the 1 cup basil, 1/2 cup Parmesan and 1/4 teaspoon pepper and toss to combine. Taste and season with more salt, if needed.
Divide the pasta among bowls and top with more Parmesan and basil leaves.