Ingredients
For the Soup Base
- 2 Tbsp olive oil
- 1 small or 1/2 large yellow onion, diced
- 2 cloves garlic, minced
- 2 cups crushed tomatoes
- 1 cup milk
- 4 cups beef stock
- 2 tsp garlic and herb seasoning
- 2 tsp Italian seasoning
- Fresh basil
- Salt and pepper to taste
- Parmesan rind, optional
- 8 oz ditalini pasta
For the Meatballs
- 3/4 lb ground beef
- 1 egg
- 1/4 cup breadcrumbs
- 1/4 cup freshly grated parmesan
- Fresh chopped basil or parsley
- 1 clove garlic, minced or grated
- Salt to taste
- Pinch of Italian seasoning
Instructions
Before starting the soup, prepare all of the ingredients so the cooking process moves smoothly. Dice the onion into small even pieces, mince the garlic, chop the fresh herbs, and grate the parmesan cheese.
Having everything prepped ahead of time is especially helpful for soup recipes because the cooking moves fairly quickly once the onions begin sautéing. Small prep steps like this also help ensure even cooking and balanced flavor throughout the soup.
If using a parmesan rind, set it aside near the stove so it is ready to add later. The rind slowly melts flavor into the broth while simmering and creates a deeper savory taste.
Step 2: Start Building the Soup BasePlace a large soup pot over medium heat and add the olive oil. Once the oil is warm, add the diced onion. Cook the onions slowly for several minutes until softened and translucent.
This step creates the flavor foundation for the soup. Cooking the onions gently rather than rushing them helps develop sweetness and richness. Stir occasionally to prevent browning too quickly.
Once the onions are softened, add the minced garlic and cook for about 30 seconds. Garlic cooks quickly, so avoid letting it brown too much or it can become bitter.
The kitchen should already smell rich and aromatic at this stage.
Step 3: Add the Tomatoes and BrothPour in the crushed tomatoes and stir well with the onions and garlic. Then add the beef stock and milk.
The combination of tomatoes and milk gives the broth a creamy tomato flavor without making it too heavy. Stir thoroughly so the milk blends evenly into the soup base.
Add the garlic and herb seasoning, Italian seasoning, fresh basil, salt, pepper, and parmesan rind if using.
Bring the soup to a gentle boil. Once it reaches a boil, reduce the heat slightly so it can simmer while the meatballs are prepared.
Simmering allows all the flavors to blend together while the herbs infuse the broth.
Step 4: Mix the Meatball IngredientsIn a large bowl, combine the ground beef, egg, breadcrumbs, parmesan cheese, fresh herbs, garlic, salt, and Italian seasoning.
Mix gently with clean hands or a fork until everything is evenly combined. Avoid overmixing because compact meatballs can become dense and tough after cooking.
The breadcrumbs and egg help keep the meatballs tender while the parmesan and herbs provide extra flavor.
The mixture should feel moist but still easy to roll into small balls.
Step 5: Shape the Mini MeatballsRoll the meat mixture into very small meatballs. They should be roughly bite sized, much smaller than traditional pasta meatballs.
Mini meatballs work best in this soup because they cook quickly and fit perfectly alongside the ditalini pasta. Smaller meatballs also distribute evenly throughout the soup so every spoonful gets a bit of everything.
If the mixture sticks to your hands, lightly dampen your palms with water before rolling.
Place the finished meatballs on a plate or tray while you complete the batch.
Step 6: Simmer the Meatballs in the SoupCarefully drop the mini meatballs directly into the simmering broth.
Adding them straight into the soup allows the meatballs to gently poach while releasing flavor into the broth at the same time. This technique keeps the meatballs tender and creates an even richer soup.
Let the soup simmer for about 20 minutes. Stir occasionally and make sure the heat stays moderate rather than aggressively boiling.
As the meatballs cook, they become juicy and flavorful while the broth develops a deeper savory taste.
Step 7: Add the Ditalini PastaOnce the meatballs are cooked through, stir in the ditalini pasta.
Cook the pasta until al dente according to package instructions. Stir occasionally to prevent sticking.
Ditalini is ideal for this recipe because its small size matches the mini meatballs perfectly. Every spoonful becomes balanced with pasta, broth, and meatballs.
Avoid overcooking the pasta because it will continue softening slightly in the hot broth even after the heat is turned off.
Step 8: Taste and Adjust the SeasoningBefore serving, taste the soup and adjust the seasoning if necessary.
Add extra salt, black pepper, or fresh basil depending on your preference. If the broth tastes too thick after adding pasta, a splash of extra beef stock can help loosen it slightly.
Remove the parmesan rind before serving if you used one.
The finished soup should taste rich, savory, lightly creamy, and full of herb flavor.
Step 9: Serve the SoupLadle the hot soup into bowls and finish with freshly grated parmesan cheese and cracked black pepper.
Serve with crusty bread, garlic bread, or a simple salad for a complete meal.
The soup is incredibly comforting while still feeling balanced and light enough for any season.
- Prep Time: 15 Mins
- Cook Time: 40 Mins