Heat a large skillet over medium heat. Add the ground beef or turkey, chopped onion, 5 cloves of garlic, and ½ teaspoon salt. Cook until the meat is browned, breaking it into small pieces with a spatula.
Stir in the crushed tomatoes, tomato sauce, tomato paste, balsamic vinegar, dried basil, parsley, oregano, thyme, and pepper. Reduce heat to low and let the homemade tomato sauce simmer for 15–20 minutes, stirring occasionally.
In a separate bowl, mix together the cottage cheese, 1 cup shredded mozzarella, Parmesan cheese, egg, 1 clove minced garlic, and chopped spinach. Stir until everything is well combined.
Cook the whole wheat noodles according to package instructions. Drain and set aside.
Preheat the oven to 375°F. Lightly grease a 9×13 inch baking dish. Spread about ¾ cup of the meat sauce on the bottom.
Place 3 whole wheat lasagna noodles over the sauce in a single layer.
Spread half of the cheese and spinach mixture over the noodles. Top with half of the remaining meat sauce.
Repeat the layers: noodles, cheese mixture, and meat sauce, finishing with a layer of sauce on top.
Sprinkle the remaining 1 cup of shredded mozzarella evenly over the top. Cover the dish with aluminum foil.
Bake for 25 minutes, then remove the foil and bake for an additional 10–15 minutes, until the cheese is melted and bubbly.
Allow the lasagna to rest for at least 10 minutes before slicing. Garnish with fresh parsley or basil before serving.