Melt the butter in a heavy-bottomed 4-quart saucepan or Dutch oven over medium heat. Cook the onion and carrots for about 3 minutes, until the onion softens.
Add the broccoli, chicken broth, thyme, garlic powder, salt, and black pepper. Simmer for about 8 minutes, until the broccoli is tender. Remove 1 cup of vegetables, coarsely chop, and reserve.
Blend the vegetables and broth remaining in the pot with an immersion blender. In a small bowl, gradually stir the half-and-half or light cream into the flour until smooth. Bring the blended soup to a boil, whisk in the cream mixture, and cook for 3–4 minutes, until thick and bubbly.
Remove the pot from the heat. Stir in the cheddar, Parmesan, and reserved vegetables until the cheese melts completely. Serve immediately, and don’t boil the soup after adding the cheese.