In a large pot, heat olive oil over medium heat. Add chopped onion and cook for 5-6 minutes until softened. Add garlic and cook for another minute until fragrant.
Add the chopped zucchinis and sauté for about 5 minutes, stirring occasionally, until they begin to soften.
Add the vegetable or chicken broth to the pot, cover with a lid, bring it to a simmer, and cook for 15–20 minutes, until the zucchini is fully tender.
Remove the pot from heat and let it cool slightly. Use an immersion blender to blend the soup until smooth. Alternatively, transfer the soup in batches to a regular blender.
Stir in the milk (or coconut milk) and chopped basil and blend again until smooth.
Add lemon juice and season the soup with salt, pepper,to taste.
Ladle the soup into bowls. Add extra basil or a drizzle of olive oil if desired.