Preheat the oven to 375 degrees F.
Cook the noodles al dente according to the directions on the package. Drain well, then lay out on wax paper to prevent them from sticking to each other.
Heat a large nonstick skillet over medium-high heat. Add the beef and cook until no longer pink, breaking up the meat into small pieces with a wooden spoon, about 3 minutes. Transfer the meat to a plate, discarding any fat remaining in the skillet.
Heat the oil in the skillet over medium-high heat. Add the mushrooms and cook, stirring occasionally, until all the liquid is evaporated and they begin to brown, about 5 minutes. Return the meat to the pan. Season with 1/2 teaspoon salt, stir in 2 cups of the tomato sauce, and simmer for 2 minutes.
In a medium bowl, combine the ricotta cheese, spinach, egg, the remaining 1/2 teaspoon salt, the black pepper, and nutmeg.
Spread 1 cup of the remaining tomato sauce on the bottom of a 9x13-inch baking dish. Place a layer of lasagna noodles over the sauce, 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 the remaining cheese mixture, more noodles, the remaining beef mixture, and finally one more layer of noodles. Top the final layer of noodles with the remaining 1 cup tomato sauce, then sprinkle with the grated cheeses. Cover loosely with foil. Bake for 45 minutes, uncover, and bake 15 minutes more.
Heat the oil in a large, deep skillet over medium-high heat. Add the onion and cook, stirring occasionally, until tender and translucent, about 5 minutes. Add the garlic and cook, stirring, for 1 minute. Add the tomatoes, basil, and red pepper flakes and bring to a boil. Reduce the heat to medium-low and simmer for 15 minutes. Season with salt and black pepper.
Reprinted with permission from Comfort Food Fix by Ellie Krieger, copyright (c) 2011. Published by Wiley.