Servings: 4 servings
- 2 tablespoons olive oil – See Notes for oil-free option.
- 1 yellow onion, diced
- 3 carrots, peeled and diced
- 2 ribs celery, diced
- 1 red bell pepper, seeded and diced
- 1 tablespoon dried parsley
- 1 teaspoon dried basil
- 1 teaspoon dried thyme
- ½ teaspoon dried dill
- 1 ¼ teaspoons salt, or to taste
- ¼ cup all-purpose flour (I used white whole-wheat for a whole-grain option) – For a gluten-free option, use brown rice flour.
- 2 cups unsweetened and unflavored non-dairy milk, divided – I used soy milk.
- 4 cups low-sodium vegetable broth
- 2 tablespoons nutritional yeast, optional
- 1 cup dry ditalini pasta or similar small pasta shape (gluten-free or whole-wheat, if desired)
Heat the olive oil in a soup pot over medium heat. Add the onion and sauté for 5 to 6 minutes until soft and translucent. Add the carrots, celery, and bell pepper and sauté 4 to 5 minutes until starting to soften.
Add the parsley, basil, thyme, dill, salt, and flour and stir to combine, scraping up any bits of flour on the bottom of the pot. Slowly pour in ½ cup (120 ml) of milk while whisking continuously, again scraping up any bits of flour on the bottom; a flat whisk is convenient here, but a balloon whisk will work as well. Whisk until the flour is completely incorporated.
Add the remainder of the milk, vegetable broth, and nutritional yeast, if using. Whisk to combine. Increase the heat to high and bring to a boil. Once boiling, add the pasta, and then reduce the heat to medium-low and simmer for 10 to 15 minutes until the pasta is cooked through, stirring often to prevent the pasta from sticking.
Taste and adjust the seasoning, if necessary.
For WFPB/oil-free diets, replace the oil with a few tablespoons of broth during sautéing, and use white whole-wheat flour instead of all-purpose and a whole-grain pasta of choice.
For nut-free soup, simply use your favorite nut-free milk.
Store leftover soup in the refrigerator for up to four days.