Melt butter in a large pot over medium high heat. Add onion and garlic, saute for 2 minutes until onion is softened.
Add broth/ water, broccoli, potato, salt and pepper. Bring to simmer, then place the lid on, turn the heat down to medium high and cook for 20 minutes or until the broccoli is soft.
Turn stove off (but leave on stove). Puree using a stick blender until smooth.
Stir in cream, then add cheese a handful at a time, stirring in between to melt.
Taste and add more salt if desired.
Ladle into bowls. Drizzle with cream and top with extra grated cheese, if desired.
