
Melt butter in a large stockpot or Dutch oven over medium heat. Add onion, and cook, stirring frequently, until translucent, about 2-3 minutes.
Stir in garlic and thyme until fragrant, about 1 minute.
Whisk in flour until lightly browned, about 1 minute.
Stir in chicken stock, scraping any browned bits from the bottom of the pot.
Stir in potatoes; season with salt and pepper, to taste. Bring to a boil; reduce heat and simmer until potatoes are tender, about 20 minutes.
Using a wooden spoon, mash potatoes until slightly thickened, if desired; season with salt and pepper, to taste.
Stir in broccoli and heavy cream. Cook, covered, until broccoli is tender, about 8-10 minutes. Remove from heat; let cool 2 minutes.
Stir in cheese, a handful at a time, until smooth, about 1-2 minutes; season with salt and pepper, to taste.
Serve immediately.