In a large pot or Dutch oven, heat olive oil and butter over medium heat. Add the onion and cook until translucent, about 3-4 minutes. Stir in garlic, carrots, and celery. Sauté for another 3 minutes until softened.
Add mushrooms to the pot and cook, stirring occasionally, until they release their juices and become golden, about 5-7 minutes.
Stir in the wild rice, dried thyme, dried rosemary, bay leaf, and broth. Season with salt and pepper to taste. Bring the soup to a simmer, cover, and let it cook on low heat for 45-60 minutes, or until the rice is tender and has slightly burst open.
Once the rice is tender, remove the bay leaf. Stir in the heavy cream. Add a bit more broth if the soup is too thick for your liking. If adding spinach, stir it in and allow it to wilt for 2-3 minutes.
Taste and adjust seasoning with more salt and pepper if needed. Ladle the soup into bowls, garnish with fresh parsley, and enjoy warm with crusty bread!
