First, chop up the broccoli, dice the onion and mince the garlic.
Next, sauté the onion, garlic and carrots together until everything is soft and fragrant. Then, add in butter and allow it to melt. Lower the heat to medium.
Now, once the butter is melted add in the flour and cook the flour for about 30 seconds to make a roux.
Then, slowly pour in the milk then the the chicken broth. Carefully add the chopped broccoli on top and mix it in.
Bring the soup to a very light simmer then lower the heat to medium low and cover the pot for 5 minutes to cook the broccoli.
Now, once the broccoli is done add in the cheeses and mix until everything has melted.
Lastly, season with salt and pepper to taste before serving. Be careful the soup will be very hot.