Melt the butter in a frying pan, add the chopped onion and celery and cook until soft.
Crumble the Christmas pudding into the pan and mix with the onion and celery, add the chopped nuts and season with salt and pepper.
Leave to cool, then add the egg yolk to bind the stuffing together.
Stuff the bone cavity of the lamb with the pudding stuffing mixture and tie up with string or secure with cocktail sticks.
If there is any stuffing left over it can be cooked separately in an ovenproof dish.
Heat the oil in a roasting tin and brown the lamb on all sides. Add the shallots to the tin.
Roast at 180C (375F) for about 1 1/2 hours for pink lamb, 1 3/4 hours for well-done meat.
Transfer the lamb to a warm platter, cover with foil and leave to rest in a warm place.
Put the shallots, lamb stock and any juices from the lamb in a small pan and puree with a hand blender, add the redcurrant jelly and warm through
Carve the lamb with the pudding stuffing with roasted vegetables and the shallot &redcurrant jelly gravy.