In a large pot or Dutch oven, melt the butter over medium heat. Add the chopped onion and cook until softened, about 5-7 minutes.
Add the minced garlic and cook for another minute until fragrant.
Add the cubed potatoes and broccoli florets to the pot. Pour in the vegetable broth.
Bring the mixture to a boil, then reduce heat and simmer for 15-20 minutes, or until the potatoes and broccoli are tender.
Carefully transfer about half of the soup to a blender or use an immersion blender to blend until smooth. Return the blended soup to the pot.
Stir in the milk (or cream) and shredded cheddar cheese. Cook over low heat, stirring constantly, until the cheese is melted and the soup is heated through. Do not boil.
Season with salt and pepper to taste.
Serve hot, garnished with extra cheese or fresh herbs if desired.
Notes
This soup can be made ahead of time and reheated gently. For a dairy-free option, use plant-based milk and nutritional yeast instead of cheese.