In a medium saucepan or Dutch oven, melt the butter over medium heat. Add the onion and mushrooms and cook, stirring occasionally, until softened, about 7-8 minutes.
Stir in the garlic and flour and cook for 1 minute, stirring constantly.
Gradually add the broth, stirring continuously. Mix in the dried thyme, salt, and black pepper. Bring the soup to a low simmer, stirring often, until it begins to thicken, about 5-10 minutes.
Pour in the heavy cream, and continue cooking at a very low simmer for 2-3 minutes, until the soup reaches your desired consistency. Taste and adjust seasonings if needed.
Remove from heat and serve, garnished with fresh parsley if desired. You can also use this soup in place of canned cream of mushroom soup for recipes.