Separate the broccoli florets from the stalks. Trim away any tough parts from the stalks and chop the tender portions into small pieces (about 2 cups). Chop the florets into bite-sized pieces (about 3 cups) so they fit well on a spoon. Set both the stalks and florets aside in separate piles.
Heat the olive oil and butter together in a large soup pot over medium heat. Add the chopped onion and cook, stirring occasionally, until softened and translucent, about 5 minutes. Add the minced garlic and cook for another minute, just until fragrant. I like to use Kerrygold butter here for its rich flavor.
Add the chopped broccoli stalks (from Step 1) and chopped potato to the pot with the sautéed aromatics. Pour in the water or vegetable broth and season with kosher salt and black pepper. Bring the mixture to a gentle simmer, then cover the pot and cook for 15 to 18 minutes, or until the potatoes are very tender and can be easily mashed with a fork.
Remove the pot from the heat and stir in the Greek yogurt. Use an immersion blender to blend the soup base until completely smooth. If you don’t have an immersion blender, carefully blend the soup in batches in a regular blender (filling it only halfway each time), then return it to the pot. For a velvety texture, I like to blend a little bit longer than usual.
Stir the reserved chopped broccoli florets (from Step 1) into the blended soup. Return the pot to medium heat and cook, uncovered, for 8 to 10 minutes, or until the broccoli florets are just tender but still bright green. This keeps the soup flavorful and ensures the broccoli pieces add some texture. I always keep an eye on the color so the broccoli doesn’t overcook.
Stir 1 cup of the grated sharp cheddar cheese into the hot soup until melted and fully incorporated. Taste the soup and adjust the seasoning with additional salt and pepper if needed. Ladle the soup into bowls and sprinkle each serving with the remaining cheese as a garnish.