Gather the ingredients.
In a large pot, melt the butter over moderately low heat. Add the onion; cook, stirring occasionally, until translucent, about 5 minutes.
Add the garlic, broccoli stems, potatoes, broth, water, salt, and pepper. Bring to a boil. Reduce the heat and simmer until the vegetables are almost tender, about 10 minutes.
In a food processor or blender, pulse the soup to a coarse puree.
Return the soup to the pot and bring to a simmer. Add the broccoli florets and simmer until they are tender, about 5 minutes.
Stir ¼ cup of the grated Parmesan into the soup; serve the soup topped with the remaining cheese.
