Heat a large pot over medium heat and add the butter and onion. Sauté the onion for about 5 to 6 minutes. It should be softened and translucent but, not browned.
Add the garlic and continue sautéing for an additional minute.
Add the vegetable stock, potato, and broccoli. Bring to a boil then reduce the heat and simmer for about 15 to 20 minutes. The diced potato pieces should be soft and the broccoli should be cooked.
Remove the pot from the stove top place in the sink. Use an immersion blender to puree the soup.
Add 2 ½ cups of the shredded cheese and stir until it is melted.
Stir in the half and half, kosher salt and pepper. Taste and add more salt and pepper if needed.
Serve in mugs or bowls with additional shredded cheese on top.
Notes
Chop the broccoli in about 1 inch pieces. It will cook quickly and be easy to puree with an immersion blender.
Place the pot of soup in the sink when you puree it. That way any splatters will be easy to clean up.
A blender is a good substitute for pureeing the soup.
A always recommend shredding your own cheese. The pre shredded cheese available in stores contains preservatives like potato starch which keeps the cheese from clumping. The starch also prevents the cheese from melting together and is grainy when melted. Freshly shredded cheese will melt more smoothly and the soup will be more creamy.
I always have half and half on hand (I can't drink my morning coffee without it!) so it is my go to for adding to recipes. But if you prefer light or heavy cream, by all means add it to the broccoli and cheese soup.