In a large stock pot or soup pot, melt the butter and stir in the onions and carrots. Cook for several minutes until the onions are just translucent.
Add potatoes and garlic. Cook until the potatoes have softened on medium heat, about 10 minutes, covered. Stir occasionally to prevent burning.
In a separate smaller pot, melt the butter. Whisk in the flour to combine. Slowly pour in the milk, whisking on low heat. Add a little black pepper and garlic powder.
Add the frozen broccoli, thyme, salt and chicken stock (or vegetable stock) to the stock pot. Cook on a low simmer for 10 minutes.
Add the shredded cheddar to the milk mixture. Melt the cheese and stir to combine. Let thicken for several more minutes and watch to make sure it doesn't get too hot.
Pour the milk mixture into the larger pot, stirring to combine fully. Cook on medium low heat, stirring occasionally for 5-10 minutes.