Preheat the oven to 350°F (175°C).
In a large saucepan over medium heat, cook the ground beef until no longer pink, breaking it up as it cooks.
Add the chopped onion and minced garlic to the beef and cook about 2 minutes until the onion softens.
Stir in salt, black pepper, Italian seasoning, and dried oregano.
Add the crushed tomatoes, bring to a simmer, and cook 10–12 minutes until the sauce thickens and the onions are soft, then remove from heat.
Spoon 4–5 tablespoons of the meat sauce into the bottom of a 13 x 9-inch casserole dish and spread evenly; set aside.
In a mixing bowl, combine the ricotta cheese and egg until smooth, then stir in the fresh spinach.
Reserve 1/2 cup mozzarella and 1/2 cup Parmesan for the topping, then add the remaining cheeses to the ricotta mixture and stir until thick and evenly combined.
Cook the oven-ready lasagna noodles according to package directions until al dente, then lay them flat on a baking sheet to cool slightly.
Place about 2 tablespoons of the ricotta-spinach mixture near one end of each noodle and spread to within about 1/2 inch of the edges.
Top the cheese on each noodle with about 1 tablespoon of meat sauce (keeping sauce away from the edges), then roll each noodle tightly and place seam-side down in the prepared casserole dish.
Spoon a little of the remaining cheese mixture and meat sauce over each roll; sprinkle the reserved mozzarella and Parmesan evenly over the top.
Cover loosely with foil (not touching the cheese) and bake for 30 minutes, then remove the foil and let the dish rest at room temperature for 10 minutes before serving.