In a large lidded soup pot over medium-high heat, add in the bacon, diced onions and grated carrot. Sauté until the onions are transparent and soft.
Remove most of the bacon grease by using a paper towel to absorb it or by draining it, leaving around 1-2 tablespoon in the pot.
Add the minced garlic and sauté for another 2-3 minutes until browned and fragrant. Add the mustard powder and the cayenne and sauté for another 2 minutes.
Sprinkle the flour over the mixture. Stir and cook for 3-4 minutes, allowing the flour to cook properly and thicken up with the butter.
Once the flour is cooked, very slowly pour in the chicken stock, little by little, whisking continuously, making sure that there are no lumps. Stir until the flour has dissolved into the the broth and the broth is a smooth mixture now.
Once the chicken stock has been added and the mixture is smooth, add in the milk stirring continuously.
Turn down the heat to medium-low.
Add in the perogies and the broccoli and simmer on lower heat, stirring occasionally, until the broccoli florets are soft and the perogies are cooked.
Stir in the cream, then add the shredded cheese and mix until the cheese has melted throughout the broth and is creamy and smooth.
Serve in bowls topped with shredded cheese, sour cream and salt and pepper.
Store in an airtight container in the fridge for 3-5 days. Cream soups do not freeze well.