Heat the olive oil in a large pot or Dutch oven over medium heat. Add the diced onion and cook for 2-3 minutes, stirring occasionally, until it becomes translucent and fragrant. Add the minced garlic and cook for another 1-2 minutes until aromatic but not browned. This builds the foundational flavor layer for your soup.
Increase heat to medium-high and add the ground beef to the pot, breaking it up with a spoon as it cooks for 4-6 minutes until no pink remains and the meat is lightly browned. Drain excess fat if needed. Add the Italian seasoning, salt, pepper, and red pepper flakes, stirring constantly for about 30 seconds to toast the spices. Then add the tomato paste and stir well, cooking for another minute to deepen its flavor—this caramelization is key to the soup's richness.
Pour in the beef broth, marinara sauce, diced tomatoes with their juices, and water. Stir to combine everything and bring the mixture to a gentle boil over medium-high heat. I like to let this simmer for a minute to help the flavors marry before adding the noodles.
Add the broken lasagna noodles to the boiling soup and stir well to prevent sticking. Return to a gentle boil and cook for 12-15 minutes, stirring occasionally, until the noodles are tender but not mushy. The soup will thicken as the noodles release their starches, creating that signature creamy texture.
Reduce the heat to medium-low and add the cottage cheese, grated Parmesan, and mozzarella, stirring gently until the cheeses melt and incorporate into the soup. Add the fresh spinach and stir until completely wilted, about 1-2 minutes. I find that stirring gently rather than vigorously helps keep the noodles from breaking apart and maintains a nice texture throughout.
Ladle the soup into bowls and garnish with fresh basil. You can also add a dollop of cottage cheese on top if desired for extra richness and authenticity to the lasagna-inspired flavor profile.