In a cast iron Dutch oven, sauté the onions in butter over medium heat until translucent.
Add the garlic and sauté for about one minute, until starting to brown.
Stir in tomato paste and cook while stirring until it starts to brown.
Deglaze the pot by carefully pouring in half the chicken stock.
Stir with a wooden spoon, making sure to scrape any browned bits up from the bottom of the pot.
Add the remaining stock and both cans of tomatoes, including their juices, and bring to a boil.
Reduce the heat and simmer for 10 minutes.
Use an immersion blender to puree the soup right in the pot.
Or you can transfer the tomato mixture in batches to blender or food processor to process.
After mixture is pureed, add in basil and pulse a few times to incorporate.
Whisk in heavy cream.
Season with additional kosher salt and freshly ground black pepper to taste.
