Pour the oil in a large saucepan or pot and place over medium heat.
Add the leeks, onion, fennel and carrot and cook until the vegetables soften, about 5 minutes, stirring frequently so they don't brown.
Stir in the garlic and cook until fragrant, about 30 seconds. Add the cannellini beans, 6 cups water and 2 teaspoons salt. Bring to a simmer, then adjust the heat to low and continue to simmer for 15 minutes, with the pot partially covered.
Meanwhile, cook the pasta in a separate pot of salted boiling water until al dente. Drain and reserve.
Stir the zucchini into the pot and cook 1 or 2 minutes. Remove the pot from the heat. Stir in the cooked pasta and parsley.
Taste and season with more salt as need. Serve the soup garnished with chopped fresh fennel fronds (optional), a spoonful of pesto and the cheese.
Substitute an equal amount of celery for the fennel, if you prefer.
To freeze, cool the soup completely before portioning into containers. Freeze for 2 months.