Heat olive oil in a large pot over medium heat. Add the diced onion with a pinch of salt and cook until soft, about 5–7 minutes. Add minced garlic and cook another 30–60 seconds until fragrant.
Add chopped zucchini and diced potatoes to the pot. Cook, stirring occasionally, for 4–5 minutes until the zucchini begins to soften.
Pour in the stock to just cover the vegetables. Add thyme, salt, and pepper. Bring to a simmer, then reduce heat and simmer for 15–20 minutes until potatoes are tender.
Use an immersion blender to purée until smooth, or blend in batches in a countertop blender. Adjust consistency with extra stock or water if needed.
Return to low heat, stir in cream or yogurt if using, and add lemon juice to brighten. Taste and adjust seasoning. Stir in fresh herbs and serve with crusty bread or a drizzle of olive oil.
Notes
To keep the soup vegan, use vegetable stock and omit dairy or substitute coconut milk.
Reserve and sear a small amount of zucchini for garnish to add texture.
Freeze in airtight containers for up to 3 months; add dairy only when reheating.