
This Creamy Italian Meatball Soup brings together juicy homemade meatballs and a rich tomato broth finished with cream and Parmesan. It has become a cold weather favorite in my house because it turns a handful of basic ingredients into a hearty meal that tastes like an Italian restaurant comfort food classic. Each spoonful is warming, a little decadent, but still fresh from a generous handful of spinach or basil stirred in just before serving.
I first made this soup for a friend who had just had a baby and now when my family hears it on the menu plan they cannot wait for dinner It is just that little bit special even though it is simple enough for a weeknight.
Ingredients
- Ground beef or beef and pork mix: For a blend of flavor and tenderness Look for meat with a touch of fat for softer meatballs
- Breadcrumbs: To bind the meatballs and create a tender bite Choose plain or Italian seasoned
- Parmesan cheese: Freshly grated for best flavor gives both the meatballs and broth a savory richness
- Egg: Acts as a binder so meatballs hold together If possible use a free range egg for richer taste
- Garlic: Fresh cloves minced for punchy aroma and Italian warmth Avoid bottled for this recipe
- Italian seasoning: Classic herbs give depth Make sure yours is fragrant and fresh not stale
- Salt and black pepper: Choose sea salt and freshly cracked pepper for best results
- Fresh parsley: Optional but adds a burst of color and freshness Flat-leaf is most flavorful
- Olive oil: For searing meatballs and starting the soup Use extra virgin for best taste
- Onion and celery: Aromatic base that sweetens as it cooks Pick firm not sprouting veggies
- Canned diced tomatoes: For body and acidity Choose San Marzano or Italian-style for sweetness
- Chicken or beef broth: Builds the soup's savory background Use a good quality low-sodium boxed or homemade broth
- Small pasta such as ditalini or small elbows: Soak up the broth and make every bite comforting Look for bronze-cut pasta for better texture
- Heavy cream: Brings out the creaminess Try to use real cream not milk for silkiness
- Fresh spinach or basil: Stirred in at the end adds color and freshness Baby spinach is tender and fuss-free
- Optional garnishes: More Parmesan basil parsley or even pepper flakes for spiciness Choose fresh bright herbs
Step-by-Step Instructions
- Prepare the Meatballs:
- In a large mixing bowl add the ground beef breadcrumbs Parmesan egg minced garlic Italian seasoning salt black pepper and the parsley if using Mix gently with clean hands just until everything comes together so the meat stays tender Shape the mixture into small balls about one inch across and lay them out on a baking tray or plate while you finish the rest
- Cook the Meatballs:
- Set a large Dutch oven or soup pot over medium heat Pour in the olive oil and wait until it shimmers Place the meatballs into the pot in a single layer and let them sear without moving for two to three minutes per side You want a brown crust to develop so do not crowd the pan or fuss with them too much Once browned all over lift them out and set on a plate
- Sauté the Vegetables:
- Add more oil to the same pot if needed Toss in the diced onion and chopped celery plus the minced garlic Stir well and let them cook over medium until soft and fragrant about three to four minutes Scrape up the brown bits left from the meatballs for extra flavor
- Build the Soup Base:
- Pour in the can of diced tomatoes with their juices and the broth Stir everything together and season with Italian seasoning salt and black pepper Now carefully return the browned meatballs to the pot and let the soup come up to a gentle simmer Lower the heat slightly Put the lid on and let the flavors mingle for fifteen minutes
- Cook the Pasta:
- Add the pasta straight into the simmering soup Stir so it does not clump Let it bubble gently for eight to ten minutes or until just tender Give a stir now and then to keep it from sticking
- Make It Creamy:
- Turn the heat to low Stir in the heavy cream and grated Parmesan cheese Watch as the broth takes on a creamy silky look Let it warm through for two or three minutes so the cheese melts and enriches the soup
- Finish and Serve:
- Just before serving stir in the chopped spinach or basil so it wilts in the hot soup Taste and adjust seasoning if needed Ladle into bowls and top with extra Parmesan or fresh herbs if you like Serve right away for maximum flavor and coziness

My favorite part is the tiny ditalini pasta which soaks up the broth and clings to the cheese making every spoonful a comfort I still remember my daughter’s giggle the first time she tried to eat a meatball with a big slurp of soup Spinach stirred in at the end is a must for a burst of color
Storage Tips
Let the soup cool to room temperature then store in tightly sealed containers in the refrigerator It keeps well for about three days The pasta will keep softening as it sits so if planning to store for a while cook the pasta separately and add when reheating This soup also freezes well for up to one month but for best texture freeze the base without the pasta or spinach and add those fresh later
Ingredient Substitutions
If you prefer turkey or chicken you can substitute the ground beef for a leaner twist Swap Italian seasoned breadcrumbs for gluten free or crushed crackers in a pinch Fresh basil can replace parsley If lactose is a concern swap the cream for a splash of coconut cream or omit for a lighter broth Use vegetable broth to make this vegetarian and use meatless meatballs
Serving Suggestions
Serve the soup ladled into big bowls with a hunk of crusty bread for dunking A sprinkle of crushed red pepper adds heat and extra Parmesan brings more richness It is also wonderful with a bright salad of arugula and lemon alongside For a full Italian style feast serve with roasted vegetables and a simple dessert like biscotti

Add the spinach or basil just before serving for the brightest color and taste This soup makes a cozy family meal any night of the week
Frequently Asked Questions
- → How do I keep meatballs tender?
Use breadcrumbs and Parmesan in the mixture, avoid over-mixing, and brown gently before adding to the broth.
- → Can I use a different type of meat?
Ground pork, turkey, or a beef-pork mix all work well. Adjust seasonings to complement your choice.
- → What pasta shapes work best?
Small pasta like ditalini or elbow macaroni cook quickly and add satisfying texture without overwhelming the soup.
- → How should I store leftovers?
Cool completely and refrigerate in airtight containers for up to 3 days. Pasta may absorb broth; add extra stock when reheating.
- → Can I make it ahead of time?
You can prep the meatballs and base ahead. Add pasta, cream, and greens just before serving for best results.
- → Is it possible to make it dairy-free?
Omit cream and Parmesan, substitute with a dairy-free alternative or leave soup broth-based for a lighter version.