Begin by heating 4 tablespoons of olive oil in a large pot over medium-high heat. You want the oil shimmering but not smoking; this is the perfect moment to add the onion. Stir it in and let it cook for about 3 to 4 minutes until it becomes translucent.
Next, add the carrots, celery, and sweet potatoes. Season with salt and pepper. Cook, stirring often, for about 7 to 9 minutes. Keep an eye on the onion; you want it soft and golden.
Once the veggies have softened, stir in the garlic, Italian seasoning, thyme, cumin, and optional red pepper flakes. Cook this mix, stirring constantly, until fragrant—around 30 seconds should do it.
Pour in the undrained diced tomatoes and let them cook for 2 minutes, stirring occasionally. This step helps deepen the flavors before adding the broth.
Add the chicken broth (or vegetable broth) and toss in the bay leaves. Increase the heat to high and bring everything to a boil.
Once boiling, partially cover the pot with a lid and reduce the heat to maintain a gentle simmer. Let it simmer for 20 to 25 minutes. This is where all the flavors meld together beautifully.
After simmering, remove the lid and stir in the parsley. Add ½ teaspoon lemon zest and 1-2 tablespoons lemon juice for that zing. Remove and discard the bay leaves.
Taste your soup! Adjust the seasoning with more salt, pepper, or red pepper flakes if needed. Just before serving, drizzle the remaining 1 tablespoon olive oil on top for richness.
Ladle the soup into bowls and top each serving with a spoonful of basil pesto. It adds an incredible burst of flavor that pairs perfectly with the soup.
Finally, serve your Vegetable Soup with slices of crusty buttered bread on the side for a complete meal!