Place large, heavy-bottomed pot on stovetop over medium heat. When pot is warm, add 2 tablespoons unsalted butter. Let butter melt completely, pushing butter across bottom of pot with wooden spoon occasionally.
Once butter has melted, add ½ cup chopped white onion and stir to incorporate. Sauté onions until slightly softened, approximately 3 to 5 minutes.
Once mushrooms have softened slightly, add 1 tablespoon minced fresh garlic and stir to incorporate. Sauté garlic, stirring frequently, 30 seconds or until just fragrant.
When garlic is fragrant, add remaining 2 tablespoons unsalted butter and 6 cups sliced mushrooms. Stir to incorporate. Sauté mushrooms without stirring 5 minutes or until mushrooms have released almost all moisture.
Stir mushrooms then sauté 5 to 10 minutes more, stirring as needed, until mushrooms are golden brown and caramelized on all sides.
When mushrooms are browned, pour ¼ cup dry white wine into pot. Sprinkle 4 tablespoons all-purpose flour over ingredients in pot and stir until flour is fully incorporated and golden, approximately 3 to 5 minutes.
Once flour mixture has become golden, add 4 cups low-sodium chicken broth in small increments, stirring constantly.
When all broth has been incorporated completely, add ⅛ teaspoon dried thyme, ½ teaspoon salt, and ¼ teaspoon freshly ground black pepper to pot and stir to incorporate.
Reduce heat under pot to medium-low and simmer soup 15 minutes.
After 15 minutes, remove pot from heat and let soup cool 3 to 5 minutes.
Insert immersion blender into pot and blend mixture until desired consistency is achieved. Alternately, ladle soup into standard blender, working in multiple batches, and blend soup to desired consistency. See Notes below for tips on blending hot liquids in standard blenders.
When satisfied with soup consistency, add 1 cup half-and-half to pot and stir until fully incorporated.
Taste soup and add salt and/or pepper if needed. Ladle soup into serving bowls and serve warm.