Heat the olive oil in a dutch oven over medium heat, until shimmering.
Add the diced onions and celery. Saute for 8-10 minutes, until the onions are translucent and starting to brown.
Add the minced garlic. Saute for about 1 minute, until fragrant.
Add the crushed tomatoes, chicken broth, basil, and thyme. (If using canned whole peeled tomatoes, mash them before adding the broth.) Bring the soup to a boil, then reduce heat and simmer for 15 minutes.
Transfer the soup to a blender and puree until smooth. (Work in batches if needed.) You can use an immersion blender to blend the soup right in the pot, but it won’t be as smooth.
Return the soup to the pot. Stir in the heavy cream. Season with salt and pepper to taste.
Garnish with fresh basil and/or an additional drizzle of cream, if desired.