Hearty Meatball Soup with Pasta and Vegetables Recipe
Introduction
Meatball Soup is a comforting and hearty dish perfect for chilly days or whenever you crave a warm, satisfying meal. Packed with tender meatballs, fresh vegetables, and tender pasta in a flavorful broth, this soup brings homemade goodness to your table.

Ingredients
- 1 slice soft bread (to make about ¾ cup fresh bread crumbs)
- ½ pound ground beef
- ½ pound ground pork
- ½ cup grated Parmesan cheese
- 1 egg
- 1 teaspoon Italian seasoning
- ½ teaspoon salt
- ¼ teaspoon pepper
- 2 tablespoons oil
- 2 large carrots (peeled and chopped)
- 2 ribs celery (finely chopped)
- 1 small onion (finely chopped)
- 2 tablespoons tomato paste
- 3 cloves garlic (finely minced)
- 1 teaspoon Italian seasoning
- 1 teaspoon salt
- ¼ teaspoon red chili flakes
- 1 bay leaf
- 4 cups low-sodium chicken broth
- 1 can diced tomatoes with juice (28 oz or 798 ml)
- 1 Parmesan rind
- 1 cup dry ditalini pasta
- 2 cups fresh spinach (roughly chopped)
- ½ cup marinara sauce
Instructions
- Step 1: Tear the bread into small pieces and place them in a food processor or blender. Process until the bread forms fine crumbs.
- Step 2: In a large bowl, combine the bread crumbs, ground beef, ground pork, Parmesan cheese, egg, Italian seasoning, salt, and pepper. Mix gently; avoid overmixing. Let the mixture rest for 10 to 20 minutes.
- Step 3: Shape the mixture into 30 to 35 small meatballs, about 1 inch each, and arrange them on a large plate.
- Step 4: Heat the oil in a large soup pot or Dutch oven over medium-high heat. Brown the meatballs on all sides, about 2 minutes per side. They don’t need to be fully cooked at this stage. Use a slotted spoon to remove the meatballs and set aside. Keep the fat in the pot.
- Step 5: In the same pot, add the carrots, celery, and onion. Cook over medium-high heat in the reserved fat for about 5 minutes, until the vegetables are crisp-tender.
- Step 6: Stir in the tomato paste, garlic, Italian seasoning, salt, red chili flakes, and bay leaf. Cook for 1 minute to release the flavors.
- Step 7: Add the chicken broth, diced tomatoes with their juice, and Parmesan rind. Use a wooden spoon to scrape any browned bits from the bottom of the pot. Bring to a simmer and cook for 5 minutes until the vegetables start to soften.
- Step 8: Stir in the dry ditalini pasta and browned meatballs. Cover the pot, reduce the heat to medium-low, and cook for 10 minutes, stirring occasionally, until the pasta is al dente.
- Step 9: Add the chopped spinach and marinara sauce to the soup. Stir gently to combine.
- Step 10: Remove the bay leaf and Parmesan rind. Taste the soup and adjust seasoning if needed before serving.
Tips & Variations
- For extra flavor, use a mixture of fresh herbs like parsley and basil in the meatballs instead of dried Italian seasoning.
- Swap the ground beef and pork for ground turkey or chicken for a lighter version.
- Gluten-free bread crumbs and pasta can be used to make this soup suitable for gluten sensitivities.
- If you prefer a spicier soup, increase the red chili flakes or add a dash of hot sauce when serving.
Storage
Store leftovers in an airtight container in the refrigerator for up to 3 days. When reheating, add a little water or broth to loosen the soup as the pasta may absorb liquid over time. This soup can also be frozen for up to 2 months; thaw overnight in the refrigerator before reheating gently on the stove.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I make the meatballs ahead of time?
Yes, you can shape the meatballs a day ahead and keep them covered in the refrigerator. For even longer storage, freeze the formed meatballs on a baking sheet, then transfer to a freezer bag. Add frozen meatballs directly to the soup when cooking, increasing the cooking time as needed.
What can I use instead of ditalini pasta?
You can substitute ditalini with other small pasta shapes like elbow macaroni, small shells, or orzo. Choose shapes that cook quickly and fit well in soup.
Print
Hearty Meatball Soup with Pasta and Vegetables Recipe
- Total Time: 1 hour
- Yield: 6 servings 1x
Description
A hearty and comforting Meatball Soup featuring tender homemade meatballs simmered in a flavorful broth with vegetables, pasta, and fresh spinach. Perfect for a cozy meal packed with Italian-inspired flavors and wholesome ingredients.
Ingredients
Meatballs
- 1 slice soft bread (to make about ¾ cup fresh bread crumbs)
- ½ pound ground beef
- ½ pound ground pork
- ½ cup grated Parmesan cheese
- 1 egg
- 1 teaspoon Italian seasoning
- ½ teaspoon salt
- ¼ teaspoon pepper
Soup Base
- 2 tablespoons oil
- 2 large carrots (peeled and chopped)
- 2 ribs celery (finely chopped)
- 1 small onion (finely chopped)
- 2 tablespoons tomato paste
- 3 cloves garlic (finely minced)
- 1 teaspoon Italian seasoning
- 1 teaspoon salt
- ¼ teaspoon red chili flakes
- 1 bay leaf
- 4 cups low-sodium chicken broth
- 1 can diced tomatoes with juice (28 oz or 798 ml)
- 1 Parmesan rind
- 1 cup dry ditalini pasta
- 2 cups fresh spinach (roughly chopped)
- ½ cup marinara sauce
Instructions
- Make Bread Crumbs: Tear the slice of bread into small pieces and place in a food processor or blender. Process until the bread turns into fine crumbs, approximately 15-30 seconds.
- Prepare Meatball Mixture: In a large bowl, combine the bread crumbs, ground beef, ground pork, grated Parmesan, egg, Italian seasoning, salt, and pepper. Mix gently to combine without overworking the meat to keep the meatballs tender. Let the mixture rest for 10 to 20 minutes to allow flavors to meld.
- Form Meatballs: Shape the meat mixture into 30 to 35 small meatballs, about 1 inch in diameter. Place them on a large plate, ready for cooking.
- Brown Meatballs: Heat oil in a large soup pot or Dutch oven over medium-high heat. Add the meatballs in batches and brown them on all sides, about 2 minutes per side. They do not need to be cooked through at this stage. Remove with a slotted spoon and set aside, keeping the rendered fat in the pot.
- Sauté Vegetables: In the same pot, add chopped carrots, celery, and onion. Cook over medium-high heat in the meatball fat for about 5 minutes, stirring occasionally, until vegetables are crisp-tender.
- Add Flavorings: Stir in tomato paste, minced garlic, Italian seasoning, salt, red chili flakes, and bay leaf. Cook for 1 minute to enhance the aromas and flavors.
- Add Liquids and Simmer: Pour in the chicken broth, diced tomatoes with their juice, and Parmesan rind. Scrape the bottom of the pot with a wooden spoon to release any browned bits for extra flavor. Bring the soup to a simmer and cook for 5 minutes, or until the vegetables are just tender.
- Cook Pasta and Meatballs: Stir in the uncooked ditalini pasta and browned meatballs. Cover the pot, reduce heat to medium-low, and cook for 10 minutes, stirring occasionally, until the pasta is al dente and the meatballs are fully cooked.
- Add Spinach and Marinara: Stir in the roughly chopped fresh spinach and marinara sauce, allowing the spinach to wilt in the hot soup.
- Finish and Serve: Remove and discard the bay leaf and Parmesan rind. Taste the soup and adjust the salt or seasoning as needed before serving hot.
Notes
- For a leaner version, substitute ground turkey for the pork and beef or use all lean ground beef.
- You can prepare the meatballs ahead of time and freeze them before browning to save time on busy days.
- Use gluten-free bread and pasta to make this soup gluten-free if needed.
- Leftovers taste great the next day and can be reheated gently on the stovetop or microwave.
- If you prefer a spicier soup, increase the red chili flakes to your taste.
- Prep Time: 30 minutes
- Cook Time: 30 minutes
- Category: Soup
- Method: Stovetop
- Cuisine: Italian
Keywords: meatball soup, Italian soup, hearty soup, meatballs, ditalini pasta soup, easy dinner, homemade meatballs

