Heat the butter in a saucepan, add the onion and fry gently for 5 minutes until softened. Stir in the courgette, celery and garlic and fry briefly, then stir in the rice.
Pour in the stock and wine, season with salt and pepper and simmer for 15 minutes, stirring occasionally until the rice is tender.
Take the pan off the heat and leave to cool slightly. Beat the eggs and Parmesan together in a bowl, then gradually mix in a ladleful of the hot stock. Pour this mixture back into the saucepan and stir well. Heat gently until the soup has thickened slightly but do not boil or the eggs will scramble.
Chop all the gremolata ingredients finely and mix together. Ladle the soup into bowls and sprinkle with the gremolata.