In a medium saucepan, melt butter over medium heat, then sprinkle flour in to create a roux. Whisk together and cook for 2-3 minutes, or until golden, and season with salt and pepper.
Gradually stir in milk, whisking until thickened.
Remove from heat and set aside until ready to use later.
In a large stock pot or Dutch oven, cook bacon slices (working in batches, if necessary) until crispy, then set aside on a paper towel-lined plate. Cut into small pieces or crumble and save for later use.
Add mushrooms and onion to Dutch oven and sauté for 6-8 minutes, or until softened.
Season with salt and pepper and Italian seasoning, then add garlic and cook for another 1-2 minutes, or until fragrant.
Stir in ground sausage and cook until browned, then add pepperoni and mix in tomato paste and red pepper flakes, cooking for 2 minutes, or until tomato paste is fully incorporated into sausage.
Pour in olives and tomatoes and beef broth and stir together until combined.
Bring mixture to a boil, then reduce heat and let simmer, covered, for 15 minutes. Taste and adjust seasoning, if necessary.
Stir in roux and Italian cheese and cook for another 5 minutes, or until melted and incorporated.
Serve hot (optional: topped with bacon crumbles) and enjoy.
