Heat 2 tablespoons olive oil in a large pot over medium heat. Add onion, carrot, and celery and cook, stirring often, for 8–10 minutes until the onion is golden and soft. Add garlic and cook for 30 seconds until fragrant.
Add remaining 1 tbsp oil and the tomato paste. Season with salt and pepper (I add 1/2 tsp salt and 1/4 tsp pepper). Stir and cook for 7–9 minutes until the veggies are very tender and the tomato paste is thick and darkened. Don’t rush this step! Add the thyme, rosemary, and red pepper flakes. Stir to combine.
Slowly pour in vegetable broth, scraping up any browned bits on the bottom of the pan. Add the beans and stir. Bring to a boil, then reduce the heat to a gentle simmer. Cook uncovered for 10–15 minutes.
Remove 2 cups of soup and blend until smooth. Pour it back into the pot and stir to combine. Add 3 tablespoons pesto and mix well. Taste and adjust seasonings (I usually add another 1/4 teaspoon salt).
Ladle the soup into bowls and drizzle each with 1/2 tablespoon pesto (or more, to taste). Garnish with fresh thyme and serve with buttered bread for dunking!
Video
Notes
Note 1: Use fresh, refrigerated basil pesto for the best flavor—find it near fresh pasta and gourmet cheeses. Rana’s® Basil Pesto is my favorite store-bought option. Most pesto contains dairy, so check labels if needed.Storage: Store leftovers in the fridge for 4–5 days or freeze it for up to 3 months by letting it cool fully and transferring it to an airtight bag. Thaw overnight in the fridge before reheating. Warm on medium-low, stirring often, and add a splash of vegetable broth if it thickens too much.