Start by preparing the meatballs. In a medium bowl, combine lean ground beef, bread crumbs, grated Parmesan, beaten egg, minced garlic, parsley, salt, and black pepper. Use your hands to mix it all together or fold with a wooden spoon until evenly combined. Look for a consistent mixture that’s slightly sticky.
Once the mixture is ready, form it into meatballs, about the size of a tablespoon each. I find that using a small scoop helps portion them quickly and evenly. This recipe yields around 40 meatballs, which is perfect for freezing leftovers!
Next, heat a large Dutch oven or a heavy-bottomed soup pot over medium to medium-high heat. Add olive oil and once it’s shimmering, carefully place the meatballs in the pot. Sear them on all sides until they’re nicely browned, about 5 to 7 minutes. Remember not to overcrowd the pot; work in batches if needed.
Once the meatballs are browned, transfer them to a plate and set them aside. In the same Dutch oven, add unsalted butter and a bit more olive oil. Once the butter has melted and is bubbling, toss in the chopped onion, celery, carrots, mushrooms, and minced garlic. Sauté, stirring occasionally, for about 10 to 15 minutes, or until the vegetables are softened and fragrant.
Now it’s time to build your soup’s flavor. Dice half of the whole peeled tomatoes and add them to the pot. For the remaining tomatoes, crush them using the back of a fork or a pastry cutter – this helps release their juices into the broth. Don’t forget to add any accumulated juices from the can!
Stir in the tomato paste to taste; I usually like using 4 to 6 ounces. This will add depth and richness to your soup. Following that, pour in the beef broth, and then add torn basil leaves, bay leaves, dried Italian seasoning, salt, and black pepper. Gently stir to combine all the ingredients.
Now, bring the soup to a gentle boil over medium-high heat. Once it starts bubbling, lower the heat to medium-low. Add the meatballs back into the pot, and let everything simmer for about 15 minutes, or until the meatballs are cooked through and the vegetables are tender.
While the soup is simmering, prepare the ditalini pasta according to package instructions in a separate pot of boiling salted water. Cook it until it’s al dente, being careful not to overcook. Drain the pasta and set it aside.
To serve, add a portion of cooked ditalini pasta to each individual bowl and ladle the hot soup over the top. Finish with a generous sprinkle of freshly shredded Parmesan if desired. This adds a nice creamy touch!