Bring the tomatoes, carrots, and onion to a boil over medium-high heat in a stockpot, then reduce heat to medium-low.
Simmer for 30 minutes.
Stir in the chicken broth, sugar, and salt.
Melt the butter over medium-low heat in a small saucepan.
Whisk in the flour, stirring until thick.
Slowly whisk in the milk until smooth.
Cook and stir, whisking constantly until thickened, about 5 minutes, then stir milk mixture in to the stockpot.
Season with basil, celery salt, black pepper, and garlic powder.
Continue to simmer the soup on low to reduce and thicken, about 1 hour.