Ingredients
2 tablespoons extra-virgin olive oil, plus more for drizzling
2 tablespoons unsalted butter (or additional olive oil for dairy-free)
2 medium yellow onions, chopped
2 medium carrots, chopped
6 garlic cloves, chopped
2 tablespoons balsamic vinegar
2 (28-ounce) cans diced tomatoes
3 cups water or vegetable broth
1⅓ cups full-fat coconut milk or heavy cream, plus more for drizzling
1 teaspoon dried thyme
½ teaspoon red pepper flakes
1 teaspoon sea salt, plus more to taste
Freshly ground black pepper
Fresh basil leaves, for garnish
Instructions
-
Heat olive oil and butter in a large pot over medium heat until melted and shimmering.
-
Add chopped onions and carrots; cook, stirring occasionally, until onions caramelize and vegetables are tender (15-20 minutes).
-
Stir in garlic; cook 1-2 minutes until fragrant.
-
Add balsamic vinegar and cook 2 minutes to reduce slightly.
-
Pour in diced tomatoes with juices and water or vegetable broth. Stir in thyme, red pepper flakes, salt, and pepper.
-
Bring to a boil, then reduce heat and simmer uncovered for 20-25 minutes.
-
Puree soup using an immersion blender or in batches in a countertop blender until smooth.
-
Stir in coconut milk or heavy cream; heat gently without boiling. Adjust seasoning as needed.
-
Serve hot, drizzled with olive oil or cream and garnished with fresh basil.
Notes
Use olive oil instead of butter for a vegan version.
Add roasted red peppers or fresh tomatoes for flavor variation.
Increase red pepper flakes or add cayenne for more heat.
Substitute fresh herbs for dried for a fresher taste.
Serve with grilled cheese or crusty bread for a classic meal.
Store leftovers in an airtight container in the fridge for up to 4 days or freeze for up to 3 months.
- Prep Time: 10 minutes
- Cook Time: 40 minutes
- Category: Soup, Starter, Lunch
- Method: Stovetop, Simmering, Pureeing
- Cuisine: American, Classic
- Diet: Vegetarian