Go Back
A close-up shot of a hearty Meatball Soup in a dark ceramic bowl, served with crusty bread in the background.

Hearty Italian Meatball & Orzo Soup

This comforting Italian meatball soup features tender homemade meatballs simmered in a rich tomato broth with orzo pasta and fresh spinach, creating a satisfying one-pot meal perfect for any night.
Prep Time 30 minutes
Cook Time 40 minutes
Total Time 1 hour 10 minutes
Servings: 6 servings
Course: Main Course
Cuisine: Italian
Calories: 450

Ingredients
  

For the Meatballs
  • 1 lb ground beef lean (80/20 preferred)
  • 1/2 lb ground Italian sausage mild or hot, casing removed
  • 1/2 cup breadcrumbs plain or Italian
  • 1/4 cup Parmesan cheese grated
  • 1/4 cup fresh parsley chopped
  • 1 large egg lightly beaten
  • 2 cloves garlic minced
  • 1/2 tsp salt
  • 1/4 tsp black pepper
  • 1 tbsp olive oil for searing
For the Soup
  • 2 tbsp olive oil
  • 1 large yellow onion diced
  • 2 carrots peeled and diced
  • 2 celery stalks diced
  • 3 cloves garlic minced
  • 1 (28 oz) can crushed tomatoes
  • 6 cups chicken broth low sodium
  • 1/2 cup orzo pasta
  • 1 (5 oz) package fresh spinach
  • 1/2 tsp dried oregano
  • 1/4 tsp red pepper flakes optional
  • Salt and black pepper to taste
  • Fresh basil for garnish, chopped
  • Parmesan cheese for serving, grated

Equipment

  • Large mixing bowl
  • Dutch Oven or Large Pot
  • Baking sheet
  • Whisk
  • Measuring cups and spoons

Method
 

Prepare the Meatballs
  1. In a large mixing bowl, combine ground beef, Italian sausage, breadcrumbs, grated Parmesan cheese, fresh parsley, egg, minced garlic, salt, and black pepper. Mix gently with your hands until just combined, being careful not to overmix.
  2. Roll the mixture into approximately 1-inch meatballs. You should get about 30-35 meatballs. Place them on a baking sheet.
  3. Heat 1 tbsp olive oil in a large Dutch oven or soup pot over medium-high heat. Carefully add meatballs in batches, searing them on all sides until browned. They don't need to be cooked through. Remove browned meatballs to a plate and set aside.
Assemble and Cook the Soup
  1. In the same pot (add a little more olive oil if needed), reduce heat to medium. Add diced onion, carrots, and celery. Sauté for 5-7 minutes, or until vegetables begin to soften.
  2. Add minced garlic, dried oregano, and red pepper flakes (if using) and cook for another minute until fragrant.
  3. Pour in the crushed tomatoes and chicken broth. Bring the mixture to a simmer, scraping up any browned bits from the bottom of the pot.
  4. Carefully add the seared meatballs back into the pot. Reduce heat to low, cover, and simmer for 15 minutes to allow the meatballs to cook through and flavors to meld.
  5. Stir in the orzo pasta. Continue to simmer, uncovered, for another 8-10 minutes, or until the orzo is al dente. Stir occasionally to prevent the orzo from sticking.
  6. Just before serving, stir in the fresh spinach until it wilts, about 1-2 minutes. Taste and adjust seasoning with salt and pepper as needed.
Serve
  1. Ladle the hot soup into bowls. Garnish with fresh chopped basil and a generous sprinkle of grated Parmesan cheese.

Notes

For a vegetarian option, omit the meat and use vegetable broth, adding cannellini beans or lentils for protein.
Leftover soup can be stored in an airtight container in the refrigerator for up to 3-4 days. The orzo may absorb more liquid over time, so you might need to add a splash of broth when reheating.
You can substitute other small pasta shapes like ditalini or small shells for orzo.