Sauté the aromatics. Warm the olive oil in a large pot over medium heat. Add the onion and a pinch of salt. Cook 4–5 minutes until soft and translucent.
Stir in the garlic and cook 30 seconds until fragrant.
Add the vegetables and beans. Add the broccoli florets and sliced stems, diced potato, and cannellini beans. Season with 1/2 teaspoon salt and some black pepper. Stir to coat everything in the oil and aromatics.
Pour in the broth. Add the broth and bring to a gentle boil.
Reduce to a simmer, cover partially, and cook 12–15 minutes, until the broccoli is tender and the potato is soft.
Blend until creamy. Turn off the heat. Use an immersion blender to blend the soup until smooth and velvety. If you prefer some texture, leave a few small pieces of broccoli unblended.
A countertop blender works too—blend in batches and vent the lid.
Stir in the flavor builders. Whisk in the Dijon, smoked paprika, and Parmesan. Add the cheddar if using, stirring until melted. Taste and season with more salt and pepper as needed.
Add the Greek yogurt. In a small bowl, whisk the Greek yogurt with a ladle of hot soup to temper it.
Stir the warmed yogurt back into the pot off the heat. This keeps the soup creamy and prevents curdling.
Finish with brightness. Squeeze in the lemon juice and stir. Taste again.
Adjust salt, pepper, and lemon to balance the richness.
Optional protein boost. If using protein powder, whisk it with 1 cup warm soup in a separate bowl until smooth, then stir into the pot off the heat. If adding cooked chicken or blended cottage cheese, fold them in gently and warm through without boiling.
Serve. Ladle into bowls. Top with a sprinkle of cheddar, red pepper flakes, or a drizzle of olive oil.
Crusty bread or a simple green salad on the side makes a complete meal.