In a large pot or Dutch oven, melt the unsalted butter over medium heat.
Add the diced onion and sauté for 4 to 5 minutes until soft and translucent.
Add the minced garlic and cook for 1 minute until fragrant, being careful not to brown it.
Whisk in the all-purpose flour and cook for 1 to 2 minutes, stirring constantly to create a golden roux and remove the raw flour taste.
Gradually whisk in the chicken broth and half-and-half, stirring continuously to ensure no lumps form.
Bring the mixture to a gentle simmer over medium-low heat. Do not let it reach a rolling boil to prevent the dairy from curdling.
Add the broccoli florets and matchstick carrots. Cover and simmer for 15 to 20 minutes, or until the broccoli is fork-tender.
Stir in the kosher salt, black pepper, and nutmeg.
Reduce the heat to the lowest setting or remove the pot from the heat entirely to prevent the cheese from breaking.
Add the freshly grated cheddar cheese one handful at a time, whisking constantly until the soup is smooth and velvety.
Optional: Use an immersion blender to pulse a small portion of the soup if a thicker, creamier consistency is desired, leaving plenty of whole broccoli pieces for texture.
Serve immediately in warm bowls, optionally paired with a crusty baguette or inside a toasted bread bowl.