In a medium pot, cook bacon until crisp. Remove and crumble; leave about 1 tbsp bacon fat in the pot.
Add mushrooms and onion with a pinch of salt. Sauté 6–8 minutes, until mushrooms are browned and onions are soft. Add garlic and cook another 30 seconds.
Add butter. Once melted, stir in flour and cook 1 minute, stirring constantly, until smooth and lightly golden.
Gradually whisk in the vegetable stock, scraping up any brown bits. Add diced potatoes, salt, and pepper. Bring to a simmer and cook 15–18 minutes, uncovered, until potatoes are tender.
Lightly mash about half the potatoes in the pot to create a creamy base while keeping chunks.
Stir in milk and mashed white beans. Warm gently. Add cheddar cheese and stir until melted and creamy. If too thick, add more milk or stock until desired consistency.
Taste and adjust salt, pepper, and seasonings (paprika, thyme, cayenne).
Ladle into bowls and top with crumbled bacon, green onion, and a sprinkle of extra cheddar if desired.
