Preheat the oven to 400 degrees F.
In a large, microwave-safe bowl, add the spinach.
Cover the bowl with plastic wrap and pierce it a few times to allow steam to vent.
Microwave the spinach until it starts to wilt, about 4 minutes.
Uncover the spinach and stir.
Microwave until the spinach until it is completely wilted, about 2 minutes.
Transfer the spinach to a colander and rinse it under cold water.
Squeeze the spinach dry and set it aside.
In a large saucepan over medium-high heat, add the olive oil and the butter and heat until the butter is fully melted.
Add the onions, the poblano peppers, the salt, and the black pepper to the butter mixture and cook, while stirring, until the onions are translucent and form an onion mixture, about 4 minutes.
Add the mushrooms to the onion mixture and cook, while stirring, until tender, about 5 minutes.
Reduce the heat to medium.
Add the garlic and the flour to the onion mixture and cook, while stirring, until both are incorporated, about 2 minutes.
Gradually add the chicken broth to the onion mixture, while stirring, until incorporated and no lumps of flour remain.
Bring the onion mixture to a simmer.
Add the sour cream and cook, while stirring, until the onion mixture thickens, about 5 minutes.
Transfer the saucepan from the heat.
Add the Gruyère cheese to the dip mixture, reserving a few tablespoons for topping, and stir to combine.
Add the Muenster cheese and the cilantro to the dip mixture and stir to combine.
In a food processor, add the dip mixture and the spinach and cover the processor.
Pulse the dip mixture until the spinach is finely chopped and combined.
In a 1-quart baking dish, add the dip mixture and spread it out evenly.
Sprinkle the top of the dip mixture with the reserved Gruyère cheese.
Bake until the cheese melts, about 6 minutes.
Garnish with the basil and serve with the sourdough bread.