While you're chopping the vegetables, heat the olive oil in a heavy-bottomed pan. Add the chopped celery and carrots to the pan.
Peel the onion and chop into pieces the same size as the chopped celery and carrots. Add to the pan.
Chop the potatoes into pieces the same size as the other vegetables and add to the pan.
Lightly crush the garlic cloves with the heel of your hand and add the unpeeled cloves to the pan. Gently sweat the vegetables in the olive oil for a few minutes, just to colour them slightly. Add the bouquet garni.
Pour in the water and season with salt and freshly ground black pepper. Cover and bring the soup to the simmer and cook for about 10-15 minutes, until the vegetables are just tender.
Make the pistou. Place the basil leaves in a clean bowl. Roughly chop the parmesan and add to the bowl. Pour in the olive oil and season with salt and freshly ground black pepper.
Blend to a smooth sauce with a hand-held blender (alternatively you could make the sauce in a mini-food processor). The sauce should be bright green and have a fairly smooth consistency (you may need to add more oil).
Add the beans to the soup. Remove the bouquet garni.
Cook until the vegetables are tender and the beans are heated through.
To serve, ladle the soup into bowls and swirl a spoonful or two of the pistou into each. Drizzle over some olive oil and serve with some good bread.