Preheat the oven to 350 degrees. Spray a 9x13 casserole dish with cooking spray, set aside.
Boil egg noodles according to package instructions, drain, and set aside.
In a large skillet, cook the ground beef over medium heat. Add diced onions and garlic. Cook until beef is browned and onions are softened, about 5-7 minutes. Season with salt and pepper.
Stir the marinara sauce into the cooked beef mixture, and let it simmer for a few minutes to blend flavors. Set aside.
Now it’s time to build the casserole:
Layer 1: Spread a thin layer of the beef and marinara mixture on the bottom of a greased 9x13 casserole dish.
Layer 2: Add half of the cooked egg noodles.
Layer 3: Spread half of the ricotta over the noodles.
Layer 4: Add a layer of half the frozen spinach (thawed and drained).
Layer 5: Sprinkle ½ cup of shredded mozzarella and ½ cup cheddar cheese over the spinach.
Layer 6: Add half of the diced tomatoes on top.
Layer 7: Repeat layers with the remaining noodles, ricotta, spinach, and diced tomatoes.
Layer 8: Top with the remaining beef and marinara mixture, and sprinkle the rest of the mozzarella, cheddar, and Parmesan cheese on top.
Bake: Cover the casserole with foil and bake at 350°F for 25 minutes. Remove the foil and bake an additional 10 minutes until the cheese is melted and bubbly.
Serve: Let the casserole rest for 5-10 minutes before serving. Garnish with fresh basil or parsley if desired.