Melt butter in a large pot over medium high heat. Add onion and garlic, cook for 3 minutes or until onion is softened.
Add flour and mix into onion mixture. Cook for 30 seconds.
While stirring, slowly pour the milk in and keep mixing as it turns into a thickish paste that's mostly smooth. Use a whisk to make it smooth if needed.
Add chicken stock, water, salt and pepper. Stir, then add potato.
Bring to simmer then adjust heat so it's simmering gently. Cook for 8 minutes (no lid) or until potato is almost cooked. Stir ocassionally so the base doesn't catch.
Add broccoli and stir. Cook for 2 minutes (or until broccoli is cooked to your liking), then take the pot off the stove.
Stir through cheese (I use 1 cup) - broth soup be nicely thickened. Add more salt if needed.
Ladle into bowls and top with garnishes of choice.
1. Potato - Any all rounder potato works well for this recipe. In fact, any potato works will work fine, whether it's waxy or starchy.2. Broccoli - break/cut the florets into small pieces that will easily fit on a soup spoon. 5 cups (packed) is about 300g/10oz.3. To make this GLUTEN FREE, leave out the flour and make sure you use GF broth. Then mix together 2 tablespoons of cornstarch / cornflour and a splash of water to make a slurry. Add that into the soup towards the end and cook for a couple of minutes - this will thicken the soup.4. Storage - Fridge for 4 to 5 days, or freeze, thaw then reheat gently (don't want to cook potato again, might get so soft it starts falling apart).5. Nutrition per serving, assuming 5 servings and that 1 cup of cheese is used. Excludes toppings - because I cannot be held responsible for the amount of BACON you might pile on top!