01 - Heat olive oil in a large heavy-bottomed pot or Dutch oven over medium heat. Add diced onion, carrot, and zucchini if using. Sauté for 4 to 5 minutes until vegetables are softened and translucent.
02 - Add minced garlic to the pot and cook for 1 minute, stirring constantly, until fragrant and lightly golden.
03 - Add ground beef or Italian sausage to the pot. Season generously with salt and black pepper. Cook for 5 to 7 minutes, breaking the meat apart with a wooden spoon, until fully browned and no pink remains. Drain excess fat if necessary.
04 - Stir in tomato paste, crushed tomatoes, and diced tomatoes until well combined. Add dried basil, oregano, thyme, and red pepper flakes if using. Pour in the broth and stir thoroughly to incorporate all ingredients.
05 - Bring the soup to a gentle boil over medium-high heat. Once boiling, reduce heat to medium-low and let simmer uncovered for 10 minutes to allow the flavors to meld together.
06 - Add the broken lasagna noodle pieces to the simmering broth. Continue cooking for 12 to 15 minutes, stirring occasionally to prevent the pasta from sticking to the bottom, until noodles are tender and al dente.
07 - Remove the pot from heat. Stir in half of the shredded mozzarella and half of the parmesan cheese until melted and evenly distributed. Taste and adjust salt and pepper as needed.
08 - Ladle the hot soup into serving bowls. Top each portion with generous dollops of ricotta cheese, a sprinkle of the remaining mozzarella and parmesan, and freshly chopped basil or parsley. Serve immediately while hot.