Preheat oven to 375 degrees F. Lay the tomatoes, onions, and garlic out in a single layer on a large baking sheet. Drizzle with olive oil and season with salt and pepper, toss to combine. Place in the oven and allow to roast for 45-60 minutes. The tomatoes should be soft and blistered and the onions and garlic should be fragrant.
Transfer the roasted tomatoes, onion, and garlic to a blender, and blend until smooth. If you have an immersion blender, than you can skip the blender and do this in your pot. Once smooth, transfer to a dutch oven or large stock pot. Add in the chicken or vegetable stock, tomato sauce, heavy cream and dried basil, stir to combine.
Heat the soup over medium-high heat. While the soup is warming make the croutons. Cut hearty white bread into large chunks, transfer to a mixing bowl, add in the olive oil, dried basil, dried parsley, minced onion, and kosher salt. Toss to combine. Lay out on a baking sheet and bake at 400 degrees F, for 4-6 minutes until, golden brown but not too crunchy. Once done, set aside.
For the basil oil, bring a small pot of water to a boil, drop in the fresh basil leaves, leave them in the boiling water for 30 seconds to a minute. Than remove and cool in ice water. Drain and dry the basil leaves well. In a blender combine the olive oil and blanched basil eaves. Blend until combined, strain out any large chunks if needed.
Serve the soup topped with basil oil and fresh croutons. Transfer any leftover to an airtight container and keep for up to 4 days. The croutons are best eaten fresh, but the basil oil will last up to a week.
All images & content are the sole property of The Hearty Life. Please obtain permission prior to using my images. If you would like to republish a recipe, please link back to this post and re-write the instructions in your own words.