Chop the tips off your asparagus and put these to one side for later. Roughly chop the asparagus stalks.
Get a large, deep pan on the heat and pour in a good lug of olive oil. Gently fry the onions, celery and leeks for around 10 minutes, or until soft and sweet, without colouring.
Add the chopped asparagus stalks and stock and simmer for 20 minutes with a lid on. Remove from the heat and blitz with a hand-held blender or in a liquidizer. Season the soup bit by bit (this is important) with salt and pepper until just right.
Put the soup back on the heat, stir in the asparagus tips, bring back to the boil and simmer for a few more minutes, or until the tips have softened.
Just before I’m ready to serve the soup, I get a wide casserole-type pan on the heat with 8 to 10cm of boiling water. Using really fresh eggs, I very quickly crack all 10 into the water. Don’t worry about poaching so many at the same time. They don’t have to look perfect. A couple of minutes and they’ll be done, as you want them to be a bit runny.
Toast your ciabatta slices. Using a slotted spoon, remove all the poached eggs to a plate and add a knob of butter to them.
To serve, divide the soup between eight warmed bowls and place a piece of toast into each. Put a poached egg on top, cut into it to make it runny, season and drizzle with extra virgin olive oil.