In a large sauce pan, add your butter and melt over medium heat.
Add in the onion and garlic and cook for about 5 minutes, stirring occasionally till translucent.
Add flour to the mixture, and cook until the flour onion mixture is thickened. (About 3 minutes)
Slowly add in the chicken or vegetable stock, while stirring.
Slowly add in the half and half while stirring constantly.
Allow to simmer for about 15-20 minutes.
Add in the broccoli and carrots. Add in the salt and pepper.
Allow to simmer for another 20 minutes, until the mixture has thickened some. Whisk occasionally to reincorporate the skin on top.
Add the shredded cheese and stir in till smooth.
Serve immediately.
Soup stores well in the fridge for about 1 week, in an airtight container.