Add the bacon and butter to a wide, large pot and bring it to a medium heat. Cook the bacon, stirring frequently until it gets crispy and has released a lot of fat. Reserve the bacon and set aside.
To the bacon fat, add the diced onions and another pat of butter, if needed. Season the onions with salt and cook until they are soft and very aromatic, about 7 to 8 minutes. Add the garlic and cook for 2 to 3 more minutes. Add the mushrooms to the pan, season with salt and cook until they are soft and have released their juices, about 6 to 7 minutes. Scoop 1/3 of the mushroom mixture into a bowl and reserve.
To the pot, add the diced potato and sprinkle with 2 tablespoons flour. Add the sherry and cook until it has reduced by 1/2. Add the stock and bring to a boil and reduce to a simmer. Taste the stock and season with salt, if needed. Simmer the soup for 30 minutes. Add the cream and simmer for 10 minutes more.
Using a blender or immersion blender, puree the soup until smooth. Return the soup to the pot and add the reserved bacon and mushrooms. Taste the soup and adjust the seasoning, if needed.