Heat the olive oil and butter in a large pot over medium heat.
Add the chopped yellow onion. Sauté for about 5 minutes until soft and translucent.
Add the minced garlic cloves. Cook for 30 seconds or until fragrant.
Stir in the whole tomatoes with their juices, breaking up the tomatoes with your hands or spoon.
Add the chicken broth, fresh basil, sugar, salt, black pepper, dried oregano, and dried thyme.
Bring to a simmer over medium-low heat and simmer for 15-20 minutes, stirring occasionally. This builds a flavorful base.
Take off the heat and use your immersion blender to puree the soup until smooth. Be careful - it’s hot!
Stir in the heavy cream.
Taste and adjust seasoning if needed.
Serve hot with a sprinkle of parmesan cheese and croutons, if desired.