In a large pot or dutch oven heat oil and butter over medium-high heat until butter is melted and foaming.
Add onions and carrots and cook until softened, around 5-6 minutes.
Add the garlic and stir frequently until fragrant, around 30 seconds.
Add the tomato paste and cook for 1-2 minutes until it begins to darken.
Add canned tomatoes with their juices along with the chicken broth, sugar, and thyme and stir to combine then bring to a simmer and reduce heat to medium-low.
Simmer for around 10 minutes, stirring occasionally and adjusting the heat as needed to maintain a low simmer.
Let soup cool slightly then transfer to a blender in batches and puree until smooth. Alternatively you can use an immersion blender.
Stir in cream if desired, then season with salt and pepper to taste.