In a heavy-bottomed stock pot, fry the bacon until crisp and fat is rendered. Remove from pan and set aside.
In the same pan, add a pat of butter, sauté onions and carrots in butter and bacon grease until onions become translucent and carrots begin to get tender.
Add chicken stock, bacon and potatoes to pan. (Save a bit of bacon for garnish at the end.) Season with some salt - not too much at this stage as the cheese and bacon will add to the salt content. Bring to a boil, cover and simmer for 20-25 minutes until potatoes are fork tender.
Remove from heat and blend with an immersion blender until smooth. You might have to add a splash of chicken stock during this process if the mixture is very thick. Be careful not to add too much, as the beer and milk that you are going to add later will thin out the soup and you want it to stay thick and hearty.
Stir in the beer, then the cheese, then the milk. You can do this over very low heat because the gruyere might take a minute to melt. Season to taste with salt and pepper.
Remove from heat, ladle into bowls and top with bacon and a bit more cheese.
If you don't have one, you can use a regular blender. Just keep in mind that you must use caution when blending hot liquids. You can only blend a small amount of hot liquids at a time, and be sure to vent the top of the blender so it doesn't explode all over you kitchen.
This post contains affiliate links. If you purchase products through my links, I may make a small commission. As an Amazon Associate, I earn from qualifying purchases. Read my full disclosure policy here.