Saute onion in butter. Set aside. Cook melted butter and flour using a whisk over medium heat for 3-5 minutes. Stir constantly and slowly add the half-and-half (this is called making a roux). Add the chicken stock whisking all the time. Simmer for 20 minutes.
Add the broccoli, carrots and onions. Cook over low heat until the veggies are tender for 20-25 minutes. Add salt and pepper. The soup should be thickened by now. Pour in batches into blender and puree. Return to pot over low heat and add the grated cheese; stir until well blended. Stir in the nutmeg and serve.