In a large Dutch oven or soup pot over medium heat, melt the butter and add the diced onion. Cook for 4–5 minutes, stirring occasionally, until the onion becomes soft and translucent.
Sprinkle the flour over the onions and stir continuously for about 2 minutes to cook out the raw flour taste. The mixture should resemble a thick paste and lightly coat the onions.
Slowly pour in the half and half and chicken stock while whisking constantly to prevent lumps from forming. Cover the pot and bring the mixture to a gentle simmer.
Add the broccoli and carrots, then reduce the heat to medium-low. Simmer for 20 minutes, stirring occasionally, until the vegetables are tender and the soup has thickened slightly.
Stir in the salt, pepper, and nutmeg. For a smoother texture, transfer about 1 cup of the soup to a blender, blend until smooth, then return it to the pot and stir to combine.
Reduce the heat to low and gradually add the grated cheddar cheese, stirring constantly until fully melted and incorporated. Avoid boiling the soup after adding the cheese, as excessive heat can cause it to become grainy.
Once the soup is smooth, creamy, and heated through, serve immediately. Pair with crusty bread or a bread bowl for the ultimate comfort meal.