Homestyle Meatball Soup
This cozy Meatball Soup is all about comfort in a bowl. I love making a big pot of this soup; it’s perfect for lunches, dinners, meal prepping and popping into the freezer for emergency meals. Make the meatballs ahead of time, and then the soup is a quick and easy weeknight fix.

This post may contain affiliate link(s). As an Amazon Associate, I earn from qualifying purchases. See Disclosure.
This Meatball Soup is the kind of soup that works just as well for a weeknight dinner as it does for serving guests. The meatballs brown quickly, the broth builds flavor fast, and everything comes together in one pot. Finished with freshly grated Parmesan and a sprinkle of parsley, it’s comforting, satisfying, and incredibly spoonable.

Ingredients
Meatballs
- Large egg – Extra large egg works, too.
- Milk – Any kind of milk or cream will work.
- Breadcrumbs – You’re going to soak the breadcrumbs in the milk.
- Grated Parmesan cheese – Any kind will work; save the pricey stuff for finishing.
- Garlic – A microplane makes quick work of the garlic.
- Salt – I cook with kosher salt. If using table salt, use about ¾ teaspoon.
- Black pepper
- Ground beef – 80/20 makes the best meatballs.
- Ground pork – Lean ground pork works best; a beef/pork blend is fine too.
Soup
- Olive oil – Used for browning meatballs and sautéing vegetables.
- Yellow onion – Yellow, brown, or sweet onions all work.
- Bell peppers – Any color is fine; seed and dice small.
- Garlic – Fresh garlic is best here.
- Tomato paste – From a can or tube.
- Chicken broth – Homemade or good-quality store-bought with minimal ingredients.
- Beef broth – Low- or no-sodium preferred.
- Diced tomatoes – One 28-ounce can also works.
- Heavy whipping cream – Half-and-half can be used instead.
- Spinach or kale – Remove tough stems if using kale.
- Dry pasta – Small shapes like mini shells, ditalini, or orzo work best.
- Dried oregano
- Red pepper flakes
- Salt and black pepper – To taste.

How to Make Meatball Soup
Scroll down for the full recipe card with exact measurements and printable instructions.
Whisk the egg and milk together in a large mixing bowl. Add the breadcrumbs and let the mixture sit for 1 to 2 minutes so the breadcrumbs absorb the liquid and form a soft paste.
Stir in the grated Parmesan, minced garlic, salt, and pepper. Add the ground beef and ground pork, then gently mix just until combined. Avoid overworking the meat to keep the meatballs tender.

Roll the mixture into ½-inch meatballs, small enough to fit easily on a spoon with pasta and broth. Set aside.

Heat 1 tablespoon of olive oil in a 4½-quart soup pot or Dutch oven over medium-high heat. Brown the meatballs in batches for 2 to 3 minutes, turning gently. Add a small splash of olive oil as needed and lower the heat slightly if they brown too quickly. The meatballs will finish cooking in the soup. Remove and set aside.

Place the diced tomatoes in a bowl and blend briefly with an immersion blender or mash with a potato masher to your preferred texture. Leave some chunks for a rustic soup, if desired.

Add the remaining olive oil to the same pot over medium-low heat. Stir in the onions and cook for 6 to 8 minutes until softened. Add the bell peppers and cook for 4 minutes more.
Add the minced garlic, tomato paste, dried oregano, and red pepper flakes. Cook for 1 minute, stirring constantly, until fragrant.
Pour in the chicken broth, beef broth, and blended tomatoes. Bring the soup to a boil, then reduce to a steady simmer. Let it simmer uncovered for 15 minutes to develop flavor.

Bring the soup back to a gentle boil. Add the browned meatballs and dry pasta. Cook until the pasta is tender, according to the package directions.
Lower the heat and stir in the heavy cream. Add the spinach or kale and cook just until wilted, about 1 minute.
Taste and adjust seasoning with salt and pepper. Ladle into bowls and garnish with freshly grated Parmesan and chopped parsley.
Chef Jenn’s Tips
- Keep the meatballs small enough to fit easily on a spoon with broth and pasta.
- Brown the meatballs lightly; they’ll finish cooking in the broth.
- Use small pasta shapes so they don’t overpower the meatballs.
- Blend tomatoes only partially for a thicker, more chunky soup.
Serving Suggestions
Serve this Meatball Soup hot with extra Parmesan shaved directly from the block at the table and a sprinkle of fresh parsley. A crusty loaf of bread or garlic toast also makes the perfect side for soaking up the flavorful broth.

Storage
Store cooled leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stovetop over medium-low heat, adding a splash of broth if the soup thickens. The pasta will continue to absorb liquid as it sits.
More Homestyle Soups
I love this Italian-inspired Homestyle Meatball Soup. If you like these flavors, my Tuscan Soup with Sausage & Kale might just float your boat. Want something a bit heartier? You can’t beat a bowlful of Lasagna Soup on a cold day.
Meatball Soup
Ingredients
Meatballs
- 1 large egg beaten
- ½ cup milk
- ½ cup breadcrumbs
- ¼ cup Parmesan cheese grated
- 3 cloves garlic finely chopped
- 1 teaspoon salt
- ½ teaspoon black pepper
- ½ pound ground beef
- ½ pound ground pork
Soup
- 2 tablespoons olive oil divided
- 1 cup yellow onion diced
- ½ cup bell peppers diced
- 3 cloves garlic minced
- 2 tablespoons tomato paste
- 3 cups chicken broth
- 2 cups beef broth
- 2 14.5-ounce cans diced tomatoes undrained
- ½ cup heavy whipping cream
- 2 cups spinach or kale sliced into thin ribbons
- 1 cup dry pasta
- 1 teaspoon dried oregano
- 1 pinch red pepper flakes
- Salt and black pepper to taste
Instructions
For the meatballs
- Whisk the egg and milk in a large bowl. Add the breadcrumbs and stir for 1 to 2 minutes until a paste forms.
- Stir in the Parmesan cheese, garlic, salt, and pepper until combined. Add the ground beef and ground pork and gently mix just until incorporated, taking care not to overwork the meat.
- Roll the mixture into ½-inch meatballs and set aside.
- Heat 1 tablespoon of olive oil in a 4½-quart soup pot or Dutch oven over medium-high heat.
- Brown the meatballs in batches for 2 to 3 minutes, turning gently. Add a small splash of olive oil as needed and reduce the heat slightly if they brown too quickly. The meatballs will finish cooking in the soup. Remove and set aside.
For the soup
- Place the diced tomatoes in a large bowl and blend with an immersion blender or mash with a potato masher to your desired texture. Leave some chunks if preferred. Set aside.
- Add the remaining olive oil to the same soup pot over medium-low heat. Add the diced onions and cook for 6 to 8 minutes, or until softened.
- Add the bell peppers and cook for 4 minutes. Stir in the garlic, tomato paste, oregano, and red pepper flakes. Cook for 1 minute until fragrant.
- Add the chicken broth, beef broth, and reserved tomatoes. Bring to a boil, then reduce to a simmer. Simmer uncovered for 15 minutes.
- Stir the soup and bring it back to a gentle boil. Add the meatballs and pasta, then return to a gentle boil. Cook until the pasta is tender, following package instructions.
- Reduce the heat to low and stir in the heavy cream. Add the spinach and cook until wilted, about 1 minute.
- Transfer to serving bowls, garnish with Parmesan and parsley, and serve.
Notes
Chef Jenn’s Tips
- Keep the meatballs small enough to fit easily on a spoon with broth and pasta.
- Brown the meatballs lightly; they’ll finish cooking in the broth.
- Use small pasta shapes so they don’t overpower the meatballs.
- Blend tomatoes only partially for a thicker, more chunky soup.
Nutrition
A Note on Nutritional Information
Nutritional information for this recipe is provided as a courtesy and is calculated based on available online ingredient information. It is only an approximate value. The accuracy of the nutritional information for any recipe on this site cannot be guaranteed.

Add Preferred Source