Begin by washing the zucchinis thoroughly. Cut off the ends and then chop them into small chunks.
Peel and finely chop the onion and garlic.
In a large pot, heat the olive oil over medium heat. Add the chopped onion and garlic, cooking until the onion is translucent (about 3-4 minutes).
Add the chopped zucchini to the pot, stirring to combine. Cook for about 5 minutes, stirring occasionally until the zucchini begins to soften.
Pour in the vegetable broth, add the salt and pepper, and bring the mixture to a boil.
Once boiling, reduce the heat and let it simmer for about 15 minutes, or until the zucchini is fully cooked and tender.
Remove the pot from heat. Using a blender or immersion blender, puree the soup until it is smooth and creamy.
Return the soup to low heat. If desired, stir in the heavy cream for added richness, and warm through without boiling.
Serve hot, garnished with fresh herbs if using.