Preheat the oven to 350 degrees F. Cook the rigatoni 5 minutes in boiling salted water, drain and toss with the olive oil.
For the bechamel, melt the butter in a large saucepan over medium heat and sweat the shallot and garlic until soft but not colored. Stir in the flour to a smooth paste, then gradually whisk in the wine and the milk.
Simmer, whisking, until thickened, about 5 minutes. Season with nutmeg, salt and pepper and let cool slightly.
In a large bowl mix the bechamel with the spinach, ricotta and eggs, then the rigatoni. Spread in a greased 9 by 13-inch dish and top with the mozzarella.
Cover loosely with foil and bake 40 minutes, then uncover and bake 20 minutes more, until lightly browned and bubbly and the center is no longer runny.