Melt butter in a large sauce pan and add chopped onion. Saute for about 10 minutes until onions are translucent and golden.
Slowly add flour and stir to make a roux.
Heat while stirring for a couple minutes until roux is a golden brown.
Mix the half and half and milk together. Slowly add to the roux in small increments keeping the roux hot.
Once all the milk is added, add the water and chicken broth, stir constantly.
Add the chopped cauliflower.
Reduce heat and simmer, covered, until the cauliflower is tender. About 15 minutes. Stir occastionally.
Using an immersion blender, blend until smooth. (You can pour soup into a regular blender if you don't have an immersion blender. Be careful and vent the top and cover it with a paper towel to allow steam to release while reducing splatters.)
Once everything is thoroughly blended, return it to the sauce pan.
Heat over medium heat until hot, stirring occastionally.
Remove saucepan from heat and add mustart and cheese. Stir until cheese is melted and smooth.
Serve topped with a little cheese and oyster crackers.