Peel broccoli stems and dice into small pieces. Cut florets into small pieces. Reserve.
Heat a 5-quart stockpot over medium heat. Add bacon and render until crispy. Remove cooked bacon to a towel-lined plate. Reserve for topping finished soup, leaving grease in the pot. Add the olive oil, diced onion, carrots, celery and broccoli stems to pot. Sauté until softened, about 7–10 minutes. Add garlic and cook for 1 minute. Add flour and cook for 2 minutes. Add broth, beans, seasonings and spices and simmer for 10 minutes. Using a hand immersion blender (or working in small batches in a blender) purée soup until smooth. Add in the reserved florets and simmer for 5 minutes. Taste for seasoning. Serve with a sprinkle of cheddar cheese and reserved bacon bits.
* If you or your kids would prefer a smooth-texture soup, you can purée after the broccoli florets have been added and become tender.
* To make this vegetarian, replace the bacon with 2 tablespoons olive oil and the chicken broth with vegetable broth.
* Freeze this soup without the sprinkling of cheese. add the cheese just before eating.