Heat oil over medium heat, add onions. Saute for 5 minutes.
Add in butter. Melt. Whisk in flour and break up any lumps. Let it golden brown for abour 3-4 minutes.
Pour in stock and simmer for 5 minutes. Then add in beer and simmer for 15 minutes.
While soup is cooking, cook bacon over medium heat until done. Set aside on paper towel and once cooled, cut into bite size pieces.
Add 3 cheeses into the soup. Cook until cheese has melted through and soup is smooth.
Ladle into bowl. Garnish with croutons and bacon.