In a large pot over medium-high heat add 2 Tablespoons butter and melt. Saute onion, celery, carrots, and garlic until tender. Add the chicken broth and potatoes and bring to a boil. Cover and cook for 15 minutes or until tender. Add the broccoli and cauliflower the last 5 minutes and cook until tender.
In a medium-sized saucepan add the remaining 4 tablespoons butter and melt over medium-high heat. Add the flour and create a roux cooking for 3-4 minutes. Slowly whisk in the half and half.
Pour into the soup and stir. Add the cheese and stir. Let simmer until thickened and cheese has melted. Salt and pepper to taste.