Melt butter in a large, heavy bottomed pot (such as a dutch oven) over medium heat.
Add onions and carrots and cook for 5-6 minutes or until softened.
Sprinkle flour over top and cook for one minute.
Pour in milk and half and half; Add nutmeg, broccoli, salt and pepper.
Reduce heat to low, cover pot and simmer for 20 minutes, or until the broccoli is tender.
Use an immersion blender or standard blender to puree the soup to your liking.
Stir in ham and cheese, allowing cheese to melt.
If soup is too thick, add chicken broth to thin it to your liking.
Notes
Add Toppers: Top with bacon bits, croutons or even more shredded cheese.
Veggies: Replace some of the broccoli with cauliflower to make a mixed vegetable soup.
Variation tip: Try using some more vegetables such as sauteed mushrooms or other delicious vegetables.
Pull: Feel free to pull out some pieces of the broccoli before you blend so that you can have some bigger pieces nn the finished soup.
Alternate cooking method tip: Make this soup in the instant pot. It is really a quick way to make this soup. Saute the vegetables then cook the broccoli in vegetable stock for four minutes, do a quick release then add the milk and cream.