Dice your onion into ½-inch pieces, mince your garlic fresh, chop your broccoli into 1-inch florets and stems, shred your carrots, and shred your cheddar cheese. Having everything prepped before you start cooking ensures you can work smoothly without interruption. Heat 6 tablespoons of butter and 1 tablespoon of olive oil in a large pot over medium heat until the butter is foaming. Add the diced onion and cook for 3-5 minutes, stirring occasionally, until it becomes soft and translucent. This slow cooking develops sweetness in the onion, which creates the flavor foundation for your soup.
Add the minced garlic, paprika, ground mustard, cayenne pepper, and black pepper to the softened onion. Cook for 45 seconds to 1 minute, stirring constantly—this brief cooking releases the essential oils from the spices and prevents them from tasting raw or bitter in the finished soup. Then whisk in 6 tablespoons of flour until fully combined and cooked for about 2 minutes, stirring frequently. The flour and butter create a roux that will thicken your soup and give it a silky, velvety texture. I like to cook the roux this long to remove any floury taste while keeping it pale, which maintains the soup's light color.
Slowly whisk in the chicken broth, making sure to break up any lumps in the roux as you pour. Then whisk in the half-and-half until the mixture is smooth and combined. Reduce the heat to medium-low and add the bay leaf, then let the soup simmer gently for 15 minutes. This simmering time allows the flour to fully hydrate and thicken the soup to a creamy consistency. Stir occasionally to ensure even cooking and prevent the bottom from sticking.
Add the chopped broccoli and shredded carrots to the soup, stirring well to distribute them throughout. Keep the heat on medium-low and simmer for 10-15 minutes, stirring occasionally, until the broccoli is fork-tender and the carrots are soft. I prefer to cook broccoli on the gentler side so it stays vibrant green rather than becoming gray and mushy—this preserves both the color and a slight texture in the final soup.
Turn off the heat and remove the bay leaf. Stir in the shredded cheddar cheese, stirring constantly until it's completely melted and incorporated—the residual heat will melt the cheese smoothly without causing it to separate. Taste the soup and add salt to your preference. If you prefer a completely smooth soup, carefully blend it in batches using an immersion blender or regular blender (letting it cool slightly first if using a regular blender for safety). Serve hot, optionally with buttered bread for dunking.