Add one tablespoon of butter into a large pot and saute the chopped onion and garlic for 2 -3 minutes until softened.
Add the chopped tomatoes and bring to a boil.
Pour in the chicken stock and simmer on medium-low heat for 20 minutes.
Add the basil then use an immersion blender to puree the soup. (You can also use a blender or run through a food mill if desired.)
In a small pot, melt 2 tablespoons of butter over medium-low heat and add the 2 tablespoons of flour. Mix to combine and cook the roux for about one minute.
Add ½ cup of the pureed soup to the roux and whisk together to remove all lumps.
Spoon/pour the roux into the hot soup and whisk to combine.
Cook over medium for 2 minutes.
Add the sugar, salt, pepper, balsamic vinegar and the cream and serve.
Recipe by I Heart Kitchen at https://www.iheartkitchen.com/creamy-fresh-tomato-basil-soup/