In a large saucepan, melt butter. Stir in flour until smooth; gradually add milk. Bring to a boil; cook and stir for 1-2 minutes or until thickened.
Stir a small amount of hot mixture into eggs. Return all to the pan, stirring constantly. Stir in the cheese, salt, pepper and nutmeg; set aside.
For filling, in a large skillet, saute mushrooms and shallot in butter and oil if desired until tender. Add spinach; cook 1 minute longer. Stir in the flour, salt and pepper until blended. Gradually add cream; heat through (do not boil).
Pour half of the egg mixture into a greased 8-in. square baking dish. Top with filling and remaining egg mixture. Sprinkle with cheese. Bake at 400° for 20-25 minutes or until a knife inserted in the center comes out clean.