0 In a dutch oven or large pot melt the butter over medium-high heat. Add onions and cook until translucent, about 5 minutes. Add carrots and celery and cook until tender, about another 5 minutes. Add the garlic and cook for about 30 seconds.
2 Add the flour to create a roux and cook for about 1 minute. Slowly mix in the water, then add the chicken base, tomatoes (juice and all), salt, pepper, fresh basil, and parmesan rinds (if using). Simmer on low for about 20 minutes.
6 If you’ve added parmesan rinds, use a slotted spoon to strain out what is left and discard.
7 Use an immersion blender or high-powered blender to blend the soup, as creamy or as thick as you would like.
9 Stir in the cream (or milk) and parmesan cheese. Serve hot and finish with an extra drizzle of cream and a sprig of basil. Enjoy!