Melt half of the butter in a saucepan and add the onion. Fry gently for 5 minutes then stir in the spinach.
Cover and cook for 5 minutes then remove the lid and cook, stirring, until all the moisture has evaporated.
Melt the remaining butter in a clean saucepan. Add the flour and cook, stirring, until browned. Gradually stir in the milk and cook, stirring, for about 2 minutes until thick and smooth.
Remove from the heat and beat in the cheese, egg yolks, spinach, salt, pepper and nutmeg to taste.
Whisk the egg whites until stiff and fold into the mixture. Turn into a well buttered 2 1/2 pint pudding basin and cover with buttered foil.
Place in a roasting pan half filled with water and cook in an oven preheated to 180 C Gas 4 for about an hour until firm in the centre.
Leave for 5 minutes then turn out onto a warmed serving dish.
Serve with some freshly made Tomato Sauce poured over.