Dice the yellow onion into small pieces and mince the garlic. Measure out all dried spices (oregano, basil, black pepper, crushed fennel seed, and red pepper flakes) into a small bowl. Break the lasagna noodles into 1 to 2-inch bite-sized pieces. In a large pot, bring salted water to a boil and cook the noodles for about 3/4 of the package time (usually around 6-7 minutes) until al dente, then drain and set aside. Cooking the noodles separately ensures they won't become mushy in the soup broth and gives you better control over their final texture.
In a large heavy-bottomed pot or Dutch oven, add the ground beef and ground pork over medium-high heat, breaking it apart with a wooden spoon as it cooks. Cook for 8-10 minutes, stirring occasionally, until the meat is browned and no pink remains. Drain excess fat if needed, then transfer the cooked meat to a plate. This initial browning develops deep, savory flavors through the Maillard reaction that will be the foundation of your soup.
In the same pot, add the olive oil and let it heat for 30 seconds. Add the diced onion and cook for 5 minutes, stirring occasionally, until softened and translucent. Add the minced garlic and cook for another 1-2 minutes, stirring frequently, until fragrant. This aromatic base will perfume the entire soup and create layers of flavor.
Pour the unsalted chicken broth into the pot and add the tomato paste, stirring well to incorporate it fully. Add the fire-roasted tomatoes with their juices, red wine vinegar, and all the measured spices from Step 1. Return the cooked meat from Step 2 to the pot and stir everything together. The red wine vinegar is crucial here—I find it brightens the low-sodium profile and adds a complexity that commercial broths lack. Bring the soup to a gentle boil over medium-high heat.
Add the al dente noodles from Step 1 to the boiling broth and stir to distribute them evenly. Bring the soup back to a boil for 2-3 minutes to heat the noodles through, then immediately reduce the heat to medium-low. Simmer gently for another 2-5 minutes, stirring occasionally, until the noodles are fully tender and the soup has melded together. I prefer shorter cooking times because the noodles were already partially cooked, which prevents them from becoming overcooked and mushy in the broth.
Ladle the soup into bowls and top each serving generously with dollops of ricotta cheese, shredded mozzarella, and grated parmesan. Tear fresh basil leaves and scatter them over the top for brightness and aroma. The warm soup will slightly melt the cheeses, creating a creamy, luxurious texture that mimics traditional lasagna while keeping the sodium controlled.