Blanch the spinach and refresh under running water. Drain in a colander and squeeze to remove excess water and chop coarsely.
Heat the oil in a pan, add the onion and garlic and cook until the onion has softened slightly. Add spinach and cook till quite dry. Add the tomatoes and cook for about two minutes. Season with salt and crushed black peppercorns and set aside.
Sift the flour and one fourth teaspoon salt together. Make a well in the centre and pour in the olive oil and mix into the flour. Add the egg yolks and knead into a moderately hard dough. Knead lightly for five to ten minutes. Cover the dough with a damp cloth and set aside for ten minutes.
Divide the dough into three parts and roll out on a floured board into twelve-inch squares. Cut each square into six-inch wide strips and cook in four cups of boiling salted water for three minutes. Drain the strips and put in cold water and set aside.
Preheat oven to 200°C/400°F/Gas Mark 6.
To make the white sauce melt the butter in a heavy bottomed pan and add the flour. Cook for two to three minutes on low heat till fragrant.
Add the warm milk, whisking vigorously to prevent lumps from forming. Add the salt and white pepper powder and cook for four to five minutes till sauce thickens. Pass the sauce through a sieve.
In a greased seven-inch square ovenproof dish, spread two to three tablespoons of white sauce at the bottom. Arrange layers of lasagna sheets and spinach mixture alternately, ending with pasta as the top layer.
Pour remaining white sauce over the top layer of pasta and sprinkle the mozzarella cheese and the processed cheese. Bake for about twenty minutes or till pale gold on top.
Cut into desired shapes and serve hot garnished with parsley.