Cook the noodles al dente according to the directions on the package. Drain them well then lay out on waxed paper to prevent them from sticking to each other.
Heat a large nonstick skillet over a medium-high heat. Add the beef and cook until no longer pink, breaking it up into small pieces as it cooks, about 3 minutes. Transfer the meat to a plate, discarding any fat remaining in the pan.
Add the oil to the same pan and heat over a medium-high heat. Add the mushrooms and cook, stirring occasionally until all the liquid has evaporated and they begin to brown, about 5 minutes. Return the meat to the pan. Stir in 2 cups of the tomato sauce and simmer for 2 minutes.
In a medium bowl combine the ricotta cheese, spinach, egg, the salt, the pepper and nutmeg.
Spread 1 cup of tomato sauce on the bottom of a 9 by 13 inch baking dish. Place a layer of lasagna noodles on top, touching but not overlapping. Spread half of the ricotta mixture on top of the noodles. Add another layer of noodles. Top with half the beef-mushroom mixture. Repeat with another layer of noodles, then remaining cheese mixture, more noodles, then remaining beef mixture and finally 1 more layer of noodles. Top the final layer of noodles with the remaining sauce, then sprinkle with the grated cheeses. Cover loosely with foil and bake for 45 minutes. Uncover and bake for 15 minutes more.