Place a Dutch oven or stockpot over medium heat. Add butter to the Dutch oven. When butter has melted stir in onions and carrots. Cook for about 5 minutes or until soft. Stir in broccoli, broth, water, and salt.
Bring to a boil and simmer for about 10 minutes or until broccoli is soft. If you have larger pieces of broccoli, break them up by inserting an immersion blender into the soup.
Or, remove about 1 cup of soup and puree in a blender, with the center part of the blender lid to allow steam to escape. Run blender with a clean towel over the lid. Return blended soup to the Dutch oven. Repeat if you prefer.
In a measuring cup, combine half and half and flour, whisking until smooth. Stir mixture into soup. Add shredded cheese and stir until cheese has melted.