Sauté Aromatic Base: Begin by heating 2 tablespoons of olive oil in a large pot or Dutch oven over medium heat. Once hot, add the diced onion and sauté for about 5 minutes, stirring frequently until softened and slightly golden. This step builds the flavor foundation. Add the minced garlic and red pepper flakes, cooking for another minute until fragrant but not burnt.
Incorporate Vegetables: Add the broccoli florets, cauliflower florets, and salt to the pot. Stir well to coat the vegetables in the aromatic oil and seasonings, ensuring even flavor distribution. Allow them to cook for 1-2 minutes before adding liquid, which helps enhance their natural flavors.
Simmer Until Tender: Pour in the vegetable or chicken broth (or water) and add the bay leaf. Increase heat to bring the mixture to a gentle boil. Once boiling, reduce the heat to low and let the soup simmer uncovered for about 15 minutes, or until the broccoli and cauliflower are fork-tender but not mushy. Stir occasionally to ensure even cooking.
Add Fresh Spinach: Remove the bay leaf carefully and discard it. Add the packed fresh spinach to the hot soup and stir until it wilts completely, which should take about 1 minute. The residual heat will preserve its bright green color and delicate texture.
Blend to Creamy Perfection: Turn off the heat. Using an immersion blender, blend the soup directly in the pot until silky smooth. Alternatively, transfer the soup in batches to a blender, covering the lid with a towel to avoid splatters, and blend until smooth before returning it to the pot.
Finish with Cheese & Lemon: Place the pot back on low heat and stir in the grated sharp cheddar cheese until it melts fully, infusing the soup with a rich, velvety texture. Add the lemon juice and stir to combine, bringing a fresh, tangy note to balance the creaminess.
Serve and Garnish: Ladle the soup into bowls while hot. Garnish with fresh herbs, an extra sprinkle of cheddar, or crispy bacon for a gourmet touch. Serve immediately with crusty bread or a light salad for a complete meal.