In a large soup pot, heat oil over medium heat. Add onions, leeks, and garlic and sauté until softened.
Add the next five ingredients to the pot. Bring to a boil, then reduce to a simmer and cook until broccoli and parsnips are soft, about 15 minutes. Stir in spinach and lemon zest.
Remove from heat. Using a submersion blender, puree soup carefully until very smooth. Alternatively, you can do this in batches in a blender, being careful because the soup is very hot.
Return to low heat and stir in the coconut milk. Season to taste with salt and pepper. Heat through and then serve.