Heat the olive oil in a Dutch oven or pot over medium heat. Add the diced onions and cook for about 5 minutes, until translucent and starting to brown.
Add the minced garlic and saute for 1-2 minutes, until fragrant.
Add the zucchini and chicken broth. Bring to a boil, then reduce heat, cover, and simmer for 8-12 minutes, until the zucchini is tender. Remove from heat.
Use an immersion blender to puree the soup, until smooth. Alternatively, blend in batches in a high-powered blender and return to pot. Reserve some zucchini pieces for garnish if desired.
Place the soup over low heat, add the heavy cream, and stir for 2-3 minutes until warm.
Season with salt and pepper to taste. Garnish with cream or olive oil drizzle and fresh dill if desired.