Preheat your oven to 375°F. Arrange the sliced roma tomatoes, cut side up, on a baking sheet. Drizzle them evenly with 3 tablespoons of extra-virgin olive oil and sprinkle with 1 teaspoon kosher salt and 1/2 teaspoon ground black pepper. Roast the tomatoes for 1 hour until they are slightly caramelized and fragrant. Once roasted, remove from the oven and set aside. Roasting the tomatoes adds deep flavor to the soup—it’s worth the time!
In a large pot or Dutch oven, heat 2 tablespoons of unsalted butter over medium-high heat. Add the diced yellow onion and sauté for about 5 minutes, until softened and translucent. Then add the minced garlic and chopped fresh thyme, cooking for another minute until fragrant. I find this gentle sauté really builds the soup’s flavor base.
To the pot with the aromatics, add the can of crushed San Marzano tomatoes, 1 cup of roughly chopped fresh basil, and 1 tablespoon sugar. Lower the heat and let the mixture simmer for about 10 minutes, stirring occasionally. This allows the flavors to meld nicely.
Pour in 2 cups of chicken stock and add the roasted roma tomatoes from Step 1. Let the soup simmer for another 30 minutes, stirring occasionally. The stock and roasted tomatoes really help develop a rich, full-bodied flavor.
Using an immersion blender, carefully purée the soup directly in the pot until smooth. Alternatively, purée the soup in batches using a blender or food processor, then return it to the pot. Stir in 2/3 cup of heavy cream, mixing until fully incorporated and the soup is creamy. For an extra silky texture, I sometimes pass the soup through a fine mesh sieve after blending.
Preheat your oven to 400°F. Take small bread pieces and cut them into small cubes. Toss the bread cubes with enough olive oil to lightly coat, add minced garlic to taste, and sprinkle with chopped fresh basil. Spread the cubes on a baking sheet and bake for about 7 minutes, or until golden brown and crisp. These croutons add a wonderful crunch to the finished soup!
Ladle the hot tomato soup into bowls and top each serving with a generous handful of mini croutons from Step 6. Serve at once and enjoy!