Trim the rhubarb and cut it into 3cm pieces. Heat 100ml water in a pan with 50g of the sugar. Bring to the boil and add the rhubarb. Simmer for 11/2 mins, then carefully lift the rhubarb out with a slotted spoon. Arrange it on a plate or tray so that it can lie in a single layer (if you keep the pieces too close to each other, they’ll continue to cook and soften – you want them to stay intact).
Put the milk and cream in a heavy-bottomed pan, add a pinch of salt and bring to the boil, then add the vanilla. Beat the eggs, extra yolk and the rest of the sugar together in a bowl. Pour the warm milk and cream onto this, stirring all the time. Heat oven to 180C/160C fan/gas 4.
Butter the bread. Drain the ricotta (if there is any liquid on top), then add the icing sugar to it. Spread the buttered bread thickly with ricotta. Sprinkle the citrus zest on top, then layer these slices with the rhubarb in a 20 x 30cm ovenproof dish. Pour the egg and cream mixture through a sieve and leave to sit for 30 mins (this makes the pudding lighter).
Put the dish in a roasting tin. Add enough boiling water to the tin to come halfway up the sides of the dish. Bake for 40-45 mins or until puffy and set on the top, and golden in colour. Leave to cool for about 10 mins (the pudding will continue to cook and ‘set’ during this time). Dust with icing sugar and serve with crème fraîche, or cream mixed with Greek yogurt.