01 - Preheat oven to 375°F. Lightly grease a 9x13-inch baking dish and set aside.
02 - Place diced sweet potatoes in a medium pot of salted water and bring to a boil. Cook until just tender, about 8-10 minutes. Drain thoroughly and set aside.
03 - Heat olive oil in a large skillet over medium heat. Add the chopped onion and minced garlic, sautéing until softened and fragrant, about 3 minutes.
04 - Add lean ground beef to the skillet, breaking it apart with a spoon. Cook until fully browned throughout, 5-7 minutes. Drain any excess fat if necessary.
05 - Stir in drained diced tomatoes, dried oregano, paprika, salt, and pepper. Simmer for 2-3 minutes to combine flavors. Fold in baby spinach and cook until wilted, if using.
06 - Arrange half of the parboiled sweet potatoes in an even layer across the bottom of the prepared baking dish.
07 - Spoon the seasoned ground beef mixture evenly over the sweet potato layer, spreading to cover uniformly.
08 - Dollop cottage cheese over the beef layer and spread into an even coating using the back of a spoon or spatula.
09 - Layer the remaining sweet potatoes on top. Scatter shredded mozzarella and grated Parmesan cheeses evenly over the surface.
10 - Bake uncovered for 25-30 minutes, until the cheese is bubbly and golden brown on top.
11 - Remove from the oven and let rest for 5 minutes before serving to allow layers to set.