Boil the lasagna noodles in water for 4-5 minutes until just under al dente
Drain the noodles and set on a pan lined with parchment paper. Add parchment paper in between layers so they don't stick together.
Make the meat sauce:
Heat the olive oil in a medium saucepan. Add the chopped red onion and ground beef and sauté until cooked through and no longer pink. Add the minced garlic and sauté an additional minute.
Stir in the tomato sauce, tomato paste, balsamic vinegar, brown sugar, red wine, salt, and pepper. Bring to a boil and reduce the heat to low. Simmer for 15 minutes.
For the cheese layer:
In a medium bowl combine ricotta cheese, 3 cups of shredded mozzarella, chopped spinach, eggs, and pepper and stir to combine.
Assemble the lasagna
Spray a 9 x 13" baking dish with non-stick cooking spray.
Add 1 and ½ cup of meat sauce to the bottom of the pan.
Arrange the lasagna noodles in a single layer on top of the meat sauce. Top with 1 cup of the cheese mixture and another 1 and ½ cup of the meat sauce. Add another layer of noodles, cheese, and sauce. Repeat this once more, ending with the sauce.
Top with 1 cup of shredded mozzarella. Cover with aluminum foil and bake for 45 minutes. Remove the foil and bake, uncovered, for 15 minutes.
Reheat lasagna in the casserole dish in the oven, covered, at 350° for 30 minutes. Adding a little water or marinara sauce helps it to not get dried out. Reheat individual slices of lasagna on the stovetop with a little water or marinara until heated through.