Prep the ingredients. Slice the smoked sausage into half-moons. Chop the broccoli into small florets and dice the onion.
Mince the garlic. Freshly shred the cheddar to help it melt smoothly.
Brown the sausage. Heat a large pot or Dutch oven over medium heat. Add 1 tablespoon butter or oil.
Sauté the sausage for 4–5 minutes until browned on the edges. Remove to a plate, leaving the drippings in the pot.
Sauté the aromatics. Add the remaining butter or oil to the pot. Stir in the onion and cook 3–4 minutes until soft.
Add garlic, smoked paprika, and red pepper flakes. Cook 30–60 seconds until fragrant.
Add the broth and broccoli. Pour in the broth and bring to a gentle boil. Add the chopped broccoli and a pinch of salt and pepper.
Reduce to a simmer and cook 8–10 minutes until the broccoli is just tender.
Blend for body (optional). For a creamier texture, use an immersion blender to partially blend the soup, leaving some pieces intact. If you prefer chunky, skip this step.
Stir in cream and cheeses. Lower the heat to prevent boiling. Add the heavy cream and stir.
Sprinkle in the cheddar a handful at a time, stirring until melted before adding more. Finish with Parmesan. Taste and adjust seasoning.
Return the sausage. Add the browned sausage back to the pot and simmer 2–3 minutes to warm through.
If the soup seems too thick, add a splash of broth or water to loosen.
Brighten and serve. Stir in lemon juice if using. Ladle into bowls and top with extra cheddar, cracked pepper, or a drizzle of olive oil. Serve hot.