Preheat your oven to 350°F and lightly grease a 9×13-inch baking dish. Melt 2 tablespoons of butter in a skillet and add the mushrooms. Let them cook undisturbed for about 5 minutes to achieve a golden-brown color. Stir in thyme, salt, and pepper, and cook another few minutes until fragrant. Set the mushrooms aside once they’re tender and rich in color.
In the same skillet, melt the remaining butter. Add garlic, basil, and oregano, cooking just until aromatic. Whisk in the flour and let it cook for about a minute to remove the raw taste. Slowly pour in the wine (or broth) and milk, whisking constantly until the sauce thickens. Take it off the heat and stir in mozzarella and parmesan until fully melted and smooth.
Bring a large pot of salted water to a boil. Cook the shells for 2 minutes less than the package directions — they should be firm enough to handle later. Drain and rinse with cold water to stop the cooking process.
In a mixing bowl, combine ricotta, provolone, and well-drained spinach. Mix until creamy and evenly blended. Spread a thin layer of cheese sauce (about one-third) on the bottom of your baking dish to keep the shells from sticking.
Using a spoon or piping bag, fill each shell with about 1–2 tablespoons of the spinach-cheese mixture. Arrange them snugly in the prepared baking dish. Continue until all shells are filled and lined up neatly.
Sprinkle the remaining mozzarella over the filled shells, then pour the rest of the cheese sauce evenly on top. Add parmesan and the cooked mushrooms as a flavorful topping. Cover with foil and bake for 25 minutes. Remove the foil and bake for another 15–20 minutes until bubbly and golden. Serve hot and garnish with a sprinkle of fresh thyme or parsley for that festive touch.