Melt the butter in a large pot over medium heat.
Add the onion, celery, and carrots, and cook until softened, about 5 minutes.
Stir in the garlic and cook for 1 minute, until fragrant.
Sprinkle the flour over the vegetables and stir to coat evenly.
Slowly whisk in the broth, scraping up any browned bits from the pot.
Add the cauliflower florets and bring the mixture to a gentle simmer.
Cover and cook until the cauliflower is fork-tender, about 15 minutes.
Stir in the milk and lower the heat to low.
Add the cheddar a handful at a time, stirring until fully melted.
Season with smoked paprika, garlic powder, salt, and pepper.
Simmer for 5 more minutes, then ladle into bowls and serve.