This cozy Italian-style meatball soup is packed with tender homemade meatballs, a rich tomato broth, and plenty of veggies and herbs. It is hearty, family friendly, and perfect for those nights when you want something warm and comforting without a lot of fuss!
If you love cooking with meatballs, try my homemade meatballs, dump-and-bake meatball casserole, or Aunt Bee’s Swedish meatballs too.

Table of Contents
Before You Get Started
Before you begin, here are a few little tips that make all the difference.
- Don’t skip the egg and breadcrumbs in your meatballs. These binders are what keep your meatballs tender and help them hold together in the broth. Skipping them often leads to dense or crumbly meatballs.
- Use a light hand when mixing. Overworking the meat makes meatballs tough. Mix just until the ingredients are combined, then stop.
- Brown the meatballs first (but don’t cook them through). A quick sear adds flavor and helps them hold their shape. They’ll finish cooking in the soup.
- Let the soup simmer, not boil. A gentle simmer keeps the meatballs tender. Boiling too vigorously can cause them to break apart.
Meat Options
You can use all beef, a mix of beef and pork, or beef combined with Italian sausage. Ground beef is the most common, but a beef and pork blend adds richness and tenderness, while a sausage blend brings extra seasoning and depth.

How to Make Meatball Soup
Step 1: Make the Meatballs
In a bowl, combine the beef, breadcrumbs, Parmesan, egg, milk, garlic, parsley, oregano, salt, and pepper. Mix just until everything comes together.

Roll the mixture into small 1 inch meatballs.
** Pro Tip: Slightly damp hands make rolling easier and help the meatballs stay smooth.
** Prep Ahead: You can roll the meatballs a day ahead and keep them covered in the fridge.

Step 2: Brown the Meatballs
Heat olive oil in a Dutch oven over medium heat. Working in batches, brown the meatballs on all sides. You do not need to cook them through. Once they have some color, transfer them to a plate.
** Quick note: If you are pressed for time, skip the browning step and add the raw meatballs straight to the simmering broth. They will still cook through and taste great but with a bit less depth of flavor.

Step 3: Build the Soup Base
Add the onion, carrots, and celery to the drippings in the pot. Cook until the veggies start to soften. Stir in the garlic and dried herbs and cook for another 30 seconds.

Pour in the crushed tomatoes and broth. Give the bottom of the pot a good scrape to lift any browned bits. Bring everything to a gentle simmer.

Step 4: Simmer the Meatballs
Return the browned meatballs to the pot. Cover and simmer for about 20 minutes or until the meatballs are cooked through.
** Pro Tip: A gentle simmer keeps the meatballs tender. A rolling boil can make them tough or cause them to fall apart.

Step 5: Add Pasta and Greens
If you want a heartier soup, stir in ditalini or orzo and cook uncovered until the pasta is tender.

Add the spinach (or kale) and let it wilt for a minute or two.
Taste the soup and adjust the seasoning. A squeeze of lemon juice brightens the flavor nicely at the end.

Step 6: Serve
Ladle the soup into bowls and finish with plenty of grated Parmesan. Serve with warm crusty bread or garlic bread for dipping.

Variations and Customizations
Meatball Variations:
- Use store bought frozen meatballs for a shortcut. Add them frozen and simmer a few extra minutes.
- Try turkey or chicken meatballs for a lighter soup.
- Use Italian sausage meat for a bold, savory flavor.
Soup Variations:
- Add small pasta like ditalini or orzo.
- Stir in white beans or chickpeas for extra protein.
- Make it creamy with a splash of heavy cream or a spoonful of cream cheese.
- Swap the spinach for kale.
Serving Suggestions:
- Crusty no-knead Dutch oven bread or homemade garlic bread.
- A simple green salad.
- Extra Parmesan and red pepper flakes at the table.
Storage, Freezing, and Make-Ahead
Storage: Refrigerate in an airtight container for up to 4 days. Note: If you added pasta, expect it to soften and absorb liquid. You can also cook the pasta separately and add it to each serving instead.
Freezing: Freeze for up to 3 months. Cool completely and freeze without pasta or greens for the best texture. Thaw overnight in the fridge.
Reheating: Reheat gently on the stovetop over medium-low heat. Add a splash of broth if the soup has thickened.
Make-Ahead: Meatballs can be shaped and refrigerated up to a day ahead. The full soup reheats beautifully, making it great for meal prep.
Frequently Asked Questions
Should you brown meatballs before putting them in soup?
Browning adds flavor and helps the meatballs hold their shape. It is recommended but not required.
How do you keep meatballs from falling apart in soup?
Use the egg and breadcrumbs, mix gently, and keep the soup at a gentle simmer.
Can you use frozen meatballs?
Yes. Add them straight from the freezer and extend the simmer time by 5 to 10 minutes.
What is the difference between Italian meatball soup and Mexican meatball soup?
Italian meatball soup uses Italian herbs, tomatoes, and Parmesan. Mexican albondigas often includes rice in the meatballs and a lighter broth flavored with cumin, cilantro, and vegetables like zucchini or potatoes.
Related Recipes
























Did you make this recipe?
If you enjoyed this recipe, please leave a comment with a 5-star review at the bottom of the post. Thank you!