1. Chop onions and smash, crush or mince garlic.
2. In a Dutch oven or stainless steel saucepan, cook onions in fat until soft.
3. Stir in crushed garlic and cook for another few minutes.
4. Peel and chop up potatoes and carrots.
5. Add potatoes, carrots, and chicken stock.
6. Bring to a boil. Reduce heat, then cover and simmer for 1 hour.
7. Separate broccoli into small flowerets and tender stems and set aside. Discard tough stems.
8. Add broccoli stems to potato mixture. Cover; simmer 45 minutes. Add broccoli flowerets and cook, covered, for 15 minutes more.
9. Add milk, cream, cheese, salt, and pepper to the pot.
10. Puree with immersion blender or use a potato masher until coarsely blended to desired texture.
11. Add more chicken stock, if needed, to desired consistency. Season with sea salt and freshly ground black pepper to taste.