Melt the butter in a large pot over medium heat.
Once melted, add in the flour and whisk until a paste is formed and the flour is browned.
Slowly stir in the milk, half and half, and chicken stock - whisking constantly.
Continue to whisk until everything is combined and there are no clumps of flour.
Bring just to a boil. Reduce heat, cover, and simmer for 20 minutes.
In a small pan, heat the olive oil. Add in the onion and cook until softened - about 3 minutes.
Mix the cooked onion, broccoli, carrots, salt, pepper, and nutmeg into the soup.
Bring back to a boil. Reduce heat, cover, and simmer for another 25 minutes.
Turn off the heat.
Using an immersion blender (if using a regular blender - work in batches and allow soup to cool slightly), puree the soup until smooth.
Reheat the pot of soup and add the shredded cheddar cheese and stir until the cheese is melted.
Serve warm topped with cheddar cheese or saltine crackers.