In a large pot or Dutch oven, melt the butter over medium heat. Toss in the diced onion and stir until soft and translucent, about 2-3 minutes.
Add the minced garlic and thyme, stirring for about 1 minute until fragrant.
Sprinkle in the flour, whisking constantly until the mixture turns golden, around 1 minute.
Gradually pour in the chicken broth, making sure to scrape up any bits stuck to the bottom of the pot.
Stir in the diced potatoes, then season with salt and pepper. Bring the soup to a boil, reduce the heat, and let it simmer until the potatoes are tender, approximately 20 minutes.
Once the potatoes are cooked, gently mash them with a wooden spoon for a thicker texture, adding salt and pepper as needed.
Stir in the broccoli florets and heavy cream. Cover and cook for 8-10 minutes until the broccoli is soft.
Take the pot off the heat and let it sit for a couple of minutes.
Finally, stir in the shredded cheddar cheese, one handful at a time, until it's completely melted and the soup is smooth. Adjust seasoning if necessary.
Serve hot and enjoy this comforting dish!