In a large saucepan (or a Dutch oven) over medium heat, melt the butter.
Add the onions, garlic powder, and salt and pepper and cook until onions are soft, about 6 minutes.
Add the broth and heavy cream and bring to a simmer.
Once simmering, add the broccoli florets and cook until the broccoli is tender, about 10 minutes.
In a small bowl, stir together the cornstarch and cold water until dissolved.
Add the cornstarch mixture and the cream cheese to the pot. Stir until the cream cheese is melted. Cook until slightly thicker, about 3 minutes.
Using an immersion blender, blend about half of the soup (if you don't have an immersion blender, add a few scoops at a time to a blender and then add back to the pot).
Remove the pot from the heat. A little at a time, sprinkle the cheese into the soup and stir until melted. Continue sprinkling in the cheese until it's all melted and combined (if you add it all at once it'll be harder to melt).
Serve hot with sandwiches or crusty bread (you could also top with extra shredded cheese, crumbled bacon, or green onions).