In a small soup pot, add the butter and let it melt over medium heat.
Stir in the onion, carrot and celery, and cook until softened and starting to caramelize around the edges, about 6-7 minutes.
Stir in the garlic and cook until fragrant, about 30 seconds.
Sprinkle in the flour, and cook while stirring for 2 minutes.
Add the chicken broth, and bring the mixture to a brisk simmer.
Turn the heat to low, and continue to simmer the aromatics for about 20-25 minutes.
Scoop out the aromatics with a spider strainer (or, pour the soup through a sieve and pour it back into the pot).
Bring the strained soup up to a simmer.
Stir in the beer and milk.
Next, slowly stir in the cream cheese, whisking well after each addition to fully melt and incorporate.
At this point, it’s best to turn the heat to low because the soup should not boil again.
Begin stirring in handfuls of the cheeses, whisking well after each addition.
Once the soup is done, stir in the Worcestershire sauce, and taste. I have not found this soup to need any salt, but add salt if you prefer it.
Serve with freshly grated black pepper, fried mushrooms, parsley, and extra cheese.
Quick Fried Mushrooms:
In a small skillet, heat the oil until hot. You should be able to hold your hand a few inches from the surface for only a few moments.
Add the mushrooms carefully, and fry on one side until golden brown, about 4-5 minutes.
Flip and fry on the other side.
Serve over beer cheese soup.