On a large pot over low heat, add 3 tablespoons of unsalted butter and the onions. Mix together and cook until well caramelized for about 45 minutes.
Add the minced garlic and cook for another minute until fragrant.
Add the sliced mushrooms and cook until softened and browned.
Deglaze the pot with 1/2 cup of white wine, scraping up any browned bits from the bottom.
Stir in 1/2 cup of all-purpose flour and cook for 1-2 minutes.
Gradually whisk in 3 quarts of chicken stock, ensuring there are no lumps.
Bring to a simmer and cook for 15-20 minutes, or until the soup has thickened.
Stir in 1 1/2 cups of heavy whipping cream, 3 tablespoons of fresh parsley, and 1 tablespoon of fresh thyme.
Season with salt and pepper to taste.
While the soup simmers, heat 2 tablespoons of olive oil in a separate pan.
Add the reserved mushrooms and sauté until browned and crispy.
Serve the soup garnished with the sautéed mushrooms.