Melt the butter in a large pot over medium heat. Add diced onion and cook 3-4 minutes until soft. Add garlic and cook 30 seconds more.
Make the Roux Sprinkle the flour over the onion mixture and stir constantly for about 1-2 minutes. The flour should coat the vegetables and start to turn a light golden color. This roux is what gives your soup its creamy, thick body.
Add the Liquids Slowly pour in the chicken broth, about ½ cup at a time, whisking continuously to prevent lumps. Once the broth is fully incorporated, stir in the half-and-half. The mixture should start to look smooth and creamy.
Cook the Vegetables Add the chopped broccoli florets and shredded carrots to the pot. Bring the soup to a gentle simmer — not a rolling boil. Reduce the heat to medium-low, cover, and let it simmer for about 15 minutes, or until the broccoli and carrots are fork-tender.
Melt in the Cheese Remove the pot from heat — this is important. Adding cheese to boiling liquid can make it grainy. Stir in the Dijon mustard, nutmeg, salt, and pepper. Then add the shredded cheddar cheese one handful at a time, stirring until each addition is fully melted before adding the next.
Adjust and Serve Taste the soup and adjust the seasoning. If you prefer a smoother texture, use an immersion blender for just a few quick pulses — but leave some chunks for texture. Ladle into bowls and top with extra shredded cheese, cracked pepper, or fresh chives. Serve with crusty bread or in a bread bowl for the full Panera experience.