Go Back

Meatball Soup

This hearty meatball soup features homemade meatballs in a savory tomato broth with Italian seasonings, pasta, spinach, and bell peppers. Topped with creamy ricotta and Parmesan cheese for a restaurant-quality meal.
Prep Time 20 minutes
Cook Time 40 minutes
Total Time 1 hour
Servings: 8 portions
Course: Dinner, Main Course, Soup
Cuisine: American, Italian
Calories: 425

Ingredients
  

  • 1 egg beaten
  • 1/2 cup heavy cream for meatballs
  • 1/2 cup Italian breadcrumbs
  • 1/4 cup Parmesan cheese finely grated
  • 3 cloves garlic finely diced, for meatballs
  • 1 teaspoon salt for meatballs
  • 1/2 teaspoon pepper for meatballs
  • 1/2 lb ground beef 80% lean
  • 1/2 lb ground pork
  • 1 tablespoon olive oil
  • 1 tablespoon butter
  • 1 yellow onion diced
  • 1/2 cup bell peppers diced
  • 3 cloves garlic minced, for soup
  • 2 tablespoons tomato paste
  • 3 cups chicken broth
  • 1 1/2 cups beef broth
  • 2 cans diced tomatoes 14.5 oz each, undrained
  • 1 teaspoon hot sauce optional
  • 1 teaspoon Worcestershire sauce
  • 1/2 cup heavy cream for soup
  • 2 cups fresh spinach
  • 1 cup dry pasta small shapes like ditalini or small shells
  • 1 teaspoon dried oregano
  • 1 teaspoon dried basil
  • 1 teaspoon dried parsley
  • 1 teaspoon mustard powder
  • 1 pinch red pepper flakes for seasoning
  • 8 oz ricotta cheese for serving, about 2 tablespoons per bowl
  • 1/2 cup Parmesan cheese grated, for serving
  • red pepper flakes for serving

Equipment

  • 4 1/2 quart soup pot or Dutch oven
  • Immersion blender or regular blender
  • Large mixing bowl
  • Small cookie scoop (optional)

Method
 

  1. In a large bowl, whisk together egg and 1/2 cup heavy cream. Add Italian breadcrumbs and stir for 1-2 minutes to form a paste (panade). Add Parmesan cheese, diced garlic, salt, and pepper and stir to combine.
  2. Add ground beef and ground pork to the breadcrumb mixture. Gently combine without overmixing. Roll meat into 1-inch balls.
  3. Heat olive oil in soup pot or Dutch oven over medium-high heat. Brown meatballs in batches for 2-3 minutes, turning to create a golden-brown crust on all sides. Remove meatballs and set aside.
  4. Place diced tomatoes (with their juices) in a large bowl. Use immersion blender to blend until mostly smooth with some small chunks remaining, about 10-15 seconds. Set aside.
  5. Melt butter in the same soup pot over medium-low heat. Add diced onions and cook for 10 minutes, stirring occasionally, until softened. Add bell peppers and cook for 4 more minutes.
  6. Add minced garlic, tomato paste, hot sauce (if using), Worcestershire sauce, oregano, basil, parsley, mustard powder, and red pepper flakes. Cook for 1 minute, stirring constantly.
  7. Add chicken broth, beef broth, and blended tomatoes to the pot. Bring to a boil, then reduce heat to simmer. Simmer uncovered for 15 minutes.
  8. Bring soup to a gentle boil. Add meatballs and dry pasta. Return to a gentle boil and cook until pasta is al dente (8 minutes for ditalini, 9 minutes for small shells, or 7 minutes for orzo).
  9. Reduce heat to low. Stir in 1/2 cup heavy cream, then add spinach. Cook until spinach is wilted, about 1 minute. Taste and adjust salt and pepper as needed.
  10. Ladle soup into serving bowls. Top each bowl with a dollop of ricotta cheese (about 2 tablespoons), a sprinkle of Parmesan cheese, and red pepper flakes to taste.

Notes

Frozen meatballs can be substituted - add directly to soup and heat through. For leftovers, cook pasta separately to prevent it from absorbing all the broth. Add a Parmesan rind while soup simmers for extra flavor. Hot sauce enhances flavor without adding heat. Store in airtight container in refrigerator for up to 3 days or freeze (without pasta) for up to 3 months.
QR Code linking back to recipe