- 6 tablespoons olive oil, divided
- 1 leek, white and pale-green parts only, chopped
- 1/2 small fennel bulb, finely chopped
- 1/2 small yellow onion, finely chopped
- 2 celery stalks, thinly sliced
- 4 cups low-sodium vegetable or chicken broth
- 2 small carrots, peeled, thinly sliced lengthwise on a mandoline
- 1 cup fresh shelled peas or fava beans (from about 1 lb. pods) or frozen
- Kosher salt and freshly ground black pepper
- 1/2 cup fregola, ditalini, or other tiny pasta
- 1 1/2 cups (lightly packed) fresh flat-leaf parsley leaves
- 1/2 shallot, finely chopped
- 2 red pearl onions or 1/4 small red onion, thinly sliced
- Shaved Parmesan (for serving)
Heat 2 Tbsp. oil in a large heavy pot over medium heat. Cook leek, fennel, yellow onion, and celery, stirring occasionally, until softened but not taking on any color, about 5 minutes. Add broth; bring to a boil, reduce heat, and simmer until vegetables are just tender, 10–15 minutes.
Add carrots and peas and simmer until carrots are just tender, about 5 minutes; season with salt and pepper.
Meanwhile, cook pasta in a large pot of boiling salted water, stirring occasionally, until al dente. Drain and add pasta to soup.
While pasta is cooking, process parsley and remaining 4 Tbsp. oil in a food processor to a coarse paste, transfer to a small bowl, and mix in shallot. Season pesto with salt and pepper. Serve soup topped with pesto, pearl onions, and Parmesan.