Heat butter and olive oil in a large pot over medium heat. Add leeks, celery and fennel and cook; season with salt and black pepper. Cook, stirring occasionally, until softened, 8-10 minutes.
Stir in the garlic and cook until fragrant, 1 minute. Add potatoes and stock; season with salt and pepper.
Bring to a boil, reduce to a simmer and cook until potatoes are tender, about 10 minutes. Stir in peas and asparagus and cook 2 minutes, until crisp tender and bright green.
Remove from heat and stir in the zucchini and parsley. Serve hot with grated Parmesan.