adjust oven rack to middle position and heat to 375 degrees.
heat oil in large Dutch oven over medium heat until shimmering but not smoking, about 2 minutes.
add onion and cook until softened, not browned. about 2 minutes. Add garlic and cook until fragrant. about 2 minutes.
Increase heat to medium-high and add meat and1/2 tps each of salt and pepper. Cook: breaking the meat into small pieces with a wooden spoon, until the meat looses it's raw color but is not brown. About 4 minutes.
add cream and simmer until liquid evaporates. About 4 minutes.
Add puréed and drained diced tomatoes and bring to a simmer; reduce heat to low and simmer slowly until blended, about 3 minutes. Set aside.
Mix Ricotta, 1 cup Parmesan, basil, egg, 1/2 tps each salt and pepper with a fork until well combined.
smear the bottom of a 9x13 baking dish with 1/4 - 1/3 cup sauce. (being careful to not get large chunks of meat) Add mushrooms to remaining sauce.
place 3 noodles in dish to create the first layer. Drop 3 TBS of ricotta mixture on each noodle and level.
Sprinkle the layer evenly with 1 cup of shredded Mozzarella. Spoon 1 1/2 cups sauce evenly over the cheese.
Repeat the layering of noodles, ricotta, cheese and sauce 2 more times.
Place the last 3 noodles on top, spread the remaining sauce evenly, sprinkle with remaining 1 cup mozzarella and then 1/4 cup parmesan.
Lightly spray a sheet of foil with non-stick cooking spray and cover lasagna.
Bake 15 minutes then remove the foil.
Bake until cheese is browned and sauce is bubbling, about 25 minutes longer.
Remove, cool on rack for about 10 minutes; cut and serve.