Homestyle Meatball Soup
This Meatball Soup features tender, spoon-sized meatballs simmered in a creamy tomato broth with pasta and spinach. Hearty, comforting, and perfect for cozy meals, it delivers the ideal balance of meat, noodles, and rich broth in every bite.
Prep Time20 minutes mins
Cook Time35 minutes mins
Total Time55 minutes mins
Course: Main Course
Cuisine: American
Keyword: cozy soup recipe, hearty soup, meatball soup, mini meatballs, one-pot soup
Servings: 6 servings
Calories: 492kcal
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
- 29 ounce diced tomatoes or 2 (14.5-ounce) cans, undrained
- ½ cup heavy whipping cream
- 2 cups spinach or kale sliced thin
- 1 cup dry pasta
- 1 teaspoon dried oregano
- 1 pinch red pepper flakes
- Salt and black pepper to taste
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.
Chef Jenn’s Tips
- Keep meatballs small so they fit easily on a spoon with broth and pasta.
- Lightly brown the meatballs; they’ll finish cooking in the soup.
- Choose small pasta shapes so they don’t overpower the meatballs.
- Partially blend the tomatoes for a thicker, heartier texture.
Serving: 1.5cups | Calories: 492kcal | Carbohydrates: 28g | Protein: 25g | Fat: 32g | Saturated Fat: 13g | Polyunsaturated Fat: 2g | Monounsaturated Fat: 13g | Trans Fat: 0.5g | Cholesterol: 113mg | Sodium: 987mg | Potassium: 880mg | Fiber: 4g | Sugar: 8g | Vitamin A: 1747IU | Vitamin C: 40mg | Calcium: 213mg | Iron: 4mg