Heat 1 tablespoon butter and olive oil in a large pot over medium heat.
Add diced onion and cook, stirring occasionally, until golden (3–5 minutes).
Add garlic, smoked paprika, ground mustard, cayenne pepper, and pepper to taste (about 1/2 teaspoon).
Cook, stirring constantly, for 45 seconds to 1 minute until fragrant.
Add the remaining 6 tablespoons butter and melt.
Whisk in flour and cook for 2 minutes, whisking constantly, until it thickens.
Gradually whisk in chicken broth.
Once combined, slowly add half-and-half, whisking constantly.
Reduce heat to medium-low, add bay leaf (if using), and simmer for 15 minutes, whisking occasionally until thickened.
Add chopped broccoli and shredded carrots to the soup.
Let the soup cook on low for 10–15 minutes, or until broccoli is tender, stirring occasionally.
Optionally blend some soup for smoother texture or leave chunky.
Turn off heat and stir in shredded cheese gradually, melting it completely.
Taste and adjust seasoning with salt as needed.
Serve immediately in bread bowls or with hearty buttered bread for dipping.