There’s nothing quite like a bowl of comforting, homemade tomato soup! This version is rich, velvety, and bursting with fresh tomato flavor. Roasting the tomatoes intensifies their natural sweetness, while basil and garlic add that classic cozy taste. Perfect for dipping grilled cheese or enjoying on its own!
3 lbs fresh tomatoes, cut into pieces
4 cups vegetable stock
¼ cup fresh basil leaves
½ onion, diced
1 tablespoon minced garlic
2 tablespoons butter
2 tablespoons olive oil
2 tablespoons all-purpose flour
1 tablespoon granulated sugar
½ teaspoon fine sea salt (plus more to taste)
¼ teaspoon black pepper
Optional: ¼–½ cup heavy cream for extra creaminess
Roast the vegetables
Preheat oven to 450°F (230°C) and lightly grease a large baking sheet.
In a large bowl, toss tomatoes, onion, and garlic with olive oil, salt, and pepper.
Spread onto the baking sheet and roast 15 minutes.
Stir, then roast another 15 minutes, broiling for the last 3 minutes to add light char.
Blend until smooth
Transfer roasted tomatoes, onions, and garlic (including juices) to a blender.
Add fresh basil and blend on high for ~50 seconds or until smooth.
Make the roux
In a large pot, melt butter over medium-high heat.
Whisk in flour and cook for 30–60 seconds until lightly golden.
Combine everything
Whisk in vegetable stock and sugar until smooth.
Pour in the blended tomato mixture and whisk well.
Add heavy cream if desired.
Simmer & serve
Reduce heat to medium-low and simmer 10–15 minutes.
Taste and adjust seasoning.
Serve warm topped with croutons, parmesan, or extra basil!
Use a mix of tomatoes like Roma + cherry for deeper flavor.
Don’t skip roasting — it removes excess liquid and enhances sweetness.
Add a pinch of red pepper flakes for a little heat.
Want it dairy-free? Use only olive oil and skip the cream.
Too thick? Add extra stock until you reach your preferred consistency.