In a large pot, bring salted water to a boil. Add the lasagna noodles and cook until al dente. Drain and set aside.
Heat a large skillet over medium heat. Add the ground beef or Italian sausage, diced onion, and minced garlic. Cook until browned and onions are translucent, about 5-7 minutes. Drain excess fat if necessary.
Stir in the marinara sauce, dried oregano, dried basil, red pepper flakes (if using), and a sprinkle of salt and pepper. Simmer on low heat for about 10 minutes, then fold in the spinach and remove from heat.
In a mixing bowl, combine ricotta cheese, half of the shredded mozzarella, grated Parmesan, and heavy cream. Season with salt and pepper and mix until smooth.
In a 9x13 inch baking dish, layer the ingredients starting with meat sauce, then 3 lasagna noodles, half of the creamy mixture, and more meat sauce. Repeat until finished with a final layer of noodles topped with remaining meat sauce and shredded mozzarella.
Cover with aluminum foil and bake for 25 minutes. Remove foil and bake for an additional 15 minutes until bubbly and cheese is golden.
Let the lasagna rest for 10-15 minutes before slicing.
Notes
Let the lasagna rest before slicing for easier serving.