Rinse zucchini and remove ends. Slice lengthwise, and chop into 1-inch pieces. Set aside.
In a large, heavy-bottomed pot, melt the butter over medium-high heat. Add the onion and garlic cloves, and cook until softened (about 5 minutes). Add the chopped zucchini and/or squash, and a pinch of salt, and cook for another five minutes. Add the water or broth/stock.
Bring up to a boil and reduce heat to simmer. Cover and cook, stirring occasionally, until zucchini is tender (about 25 minutes). Remove from heat.
Add the basil leaves. Puree using an immersion blender until completely smooth. Taste and add salt as necessary. Pour into bowls and serve warm with bread or crackers.