Heat the olive oil in a large pot over medium heat. Add the onion and cook for 3 minutes until it softens.
Stir in the garlic and cook for 1 minute until fragrant.
Add the zucchini and cook for 5 minutes, stirring now and then.
Pour in the white beans and vegetable broth. Bring the mixture to a simmer and cook for 10 minutes.
Remove the pot from the heat. Use an immersion blender to puree about half the soup, leaving some zucchini chunks for texture.
Stir in the basil leaves and lemon juice. Season with salt and black pepper, then serve with extra basil on top.