In a large Dutch oven or heavy bottomed pot, melt butter over medium heat and add onions. Sauté onions for a full 10 minutes, stirring often. They will begin to brown.
Keep heat at medium and add salt, pepper, flour, thyme and bay leaf. Stir to create a roux. Cook the roux for 4 minutes, stirring often.
Add the vegetable broth, ⅓ at a time, whisking as you add. Once all of the roux and broth are combined and the mixture is creamy, add the mushrooms and garlic. Bring to a slight boil, reduce to a medium simmer. Cook for 15 minutes, stirring often so it does not stick to the bottom. Remove and discard the bay leaf.
Add cream and heat just to get the soup back to temperature. Add the fresh basil and parsley. Using an immersion or regular blender, purée the mixture until creamy.
Adjust salt and pepper to taste as needed and serve.