In a Dutch oven or other large pot, melt the butter on medium-low heat. Add the onion and carrot and saute until soft, about 5 minutes. Then add the garlic, salt, and black and red peppers and cook until fragrant, about 20 seconds.
Reduce the heat to low and add the flour. Whisk to mix it with the vegetables and cook for about a minute.
Add the chicken stock slowly and whisk until smooth. Add the half and half and whisk until mixed well. Turn the heat to medium to get the soup hot, and then simmer for 15 minutes. Do not boil the soup. Stir occasionally.
Add the broccoli and cook for 5 more minutes.
Remove the soup from the heat. Add the cream cheese, a few chunks at a time, and stir to melt it.
Add the fontina and cheddar cheeses a little at a time, stirring well after each addition until the cheese melts. If necessary, reheat the soup a little to finalize the melting, but do not cook the cheese, or it can curdle.
Notes
Gluten-Free Soup
To make this soup gluten-free, substitute 3 tablespoons of gluten-free flour, such as Measure for Measure or Cup4Cup. Gluten-free flour thickens more than regular wheat flour, so add one less tablespoon. Also, verify that you are using gluten-free brands of cheese and half-and-half.
Replenish Liquids after Refrigerating
Add equal amounts of half and half and chicken stock to thin the soup after refrigeration.