Heat olive oil in a large pot over medium heat. Add diced onion and cook until soft, about 4-5 minutes. Stir in garlic and cook until fragrant, about 1 minute.
Add ground beef and cook until browned, breaking it apart as it cooks. Drain any excess fat.
Stir in tomato paste, crushed tomatoes, Italian seasoning, red pepper flakes if using, salt, and pepper. Let simmer for 5 minutes.
Pour in beef broth and bring to a boil. Add broken lasagna noodles and simmer until tender, about 10-12 minutes.
Reduce heat to low. Stir in ricotta and half of the mozzarella until melted into the soup, about 2-3 minutes.
Ladle soup into bowls, top with remaining mozzarella and Parmesan, and garnish with fresh basil or parsley.
Notes
Use traditional lasagna noodles broken into bite-sized pieces for authentic texture.
Break noodles into irregular shapes rather than uniform pieces for better broth absorption.
Add extra broth when reheating if needed as pasta continues absorbing liquid.
Don’t drain all fat from beef as it adds richness to the broth.