In a large Dutch oven, combine olive oil and butter. Heat over medium heat until the butter is melted. Add the onion. Cook, stirring frequently, until softened, about 8 minutes. Stir in the garlic and cook for another 5 minutes or until very fragrant and just starting to brown.
Add the tomatoes. Swirl the cans with some of the chicken stock to get the rest of the tomato juices and pour into the pot with the remaining stock. Stir in the sugar and black pepper. Bring to a boil, about 10 minutes. Reduce the heat to medium-low and continue simmering for 30 minutes, stirring occasionally. Remove from the heat.
Using an immersion blender, pulse the soup to break up the tomatoes a bit or until your desired consistency. (I do not recommend transferring the soup to a high-speed blender as blending olive oil can turn it very bitter. Mash with a potato masher to break up the tomatoes.) Taste and add salt, if needed. Stir in the cream. Serve immediately topped with fresh basil.
Video
Notes
Don’t use a high-speed blender. Blending olive oil at a high speed can make it bitter, so I don’t recommend using a powerful, high-speed blender to puree the soup. If you don’t have an immersion blender and you want to blend the soup for a silky smooth texture, use vegetable oil, grapeseed oil or all butter instead. You can also use a potato masher instead to break up the tomatoes if you prefer a chunky soup.
Use a non-reactive pot. Aluminum, cast iron, or copper pots can react with the acidity of the tomatoes, and the soup may taste metallic. Try stainless steel or enamel-coated cookware instead.
Turn it into a homemade tomato basil soup recipe! To easily add more basil flavor to the soup, add about 10 basil leaves to the pot right after you turn off the heat and pulse with an immersion blender.
For a lighter homemade tomato soup: Use half and half instead of heavy cream. You can also reduce the amount of heavy cream to ½ cup.
Make vegan tomato soup: Leave out the butter and use more extra virgin olive oil or swap it for vegan butter, swap the chicken broth for vegetable broth, and use full fat coconut milk instead of heavy cream.