Prepare the roux. Add butter to a large soup pot over medium-low heat, let it melt. Add carrots, onions, and celery and sauté for 3-4 minutes until onions become translucent.
On low heat, stir in the flour and whisk together constantly for about 5-7 minutes. The roux should become a nice light golden color.
In a separate pot, warm up the chicken broth until boiling.
With a large ladle, add about 2 cups of chicken broth into the roux, stirring or whisking constantly to make sure it is well blended. The soup should be a little thick at this point.
Add diced tomatoes, the rest of the chicken broth, salt, sugar, pepper. Simmer, covered and cook for 10 minutes, or until the vegetables are tender.
Use an immersion blender or regular blender and puree until smooth. Return it to the soup pot.
Stir in the cheddar cheese and half and half. Cook for 2-3 more minutes until warmed through and a thicker consistency develops.
Add basil, stir. Add more salt and pepper to taste.
Top with more parmesan cheese, garnish, and torn croutons. Serve while hot.