
Creamy Italian Meatball Soup Recipe tastes like cozy lasagna in a bowl with a rich tomato cream broth, tender meatballs, and soft pasta. It works perfectly for busy weeknights since it comes together in about 40 minutes from start to finish. I test this one on my own family often, and they never leave leftovers, which feels like the highest compliment.
Why Creamy Italian Meatball Soup Recipe Is Worth It
This soup gives you all the comfort of Italian meatballs and pasta without the effort of layering a whole casserole. The broth turns silky and rich, but still feels lighter than a heavy baked pasta.
You can use frozen meatballs and pantry staples, so the recipe fits real life, not just weekend cooking projects. Kids and adults both love it, which solves the eternal "what will everyone eat" question.
“This Creamy Italian Meatball Soup Recipe tastes like a cozy Italian restaurant dinner in one pot and disappears every time I serve it. ★★★★★”
Ingredients You Need
Meatballs
You can choose homemade or store bought meatballs.
Homemade meatballs:
- 1 pound ground beef, 80 to 85 percent lean
- 1/2 pound Italian sausage, mild or hot
- 1/3 cup plain breadcrumbs or panko
- 1/4 cup grated Parmesan cheese
- 1 large egg
- 2 tablespoons milk
- 2 cloves garlic, minced
- 1 teaspoon Italian seasoning
- 3/4 teaspoon kosher salt
- 1/2 teaspoon black pepper
Use your favorite Italian sausage brand. I like brands with fennel and garlic for more flavor. If you need a shortcut, use frozen Italian meatballs and skip this section.
Frozen meatball option:
- 1 to 1 1/2 pounds frozen fully cooked Italian meatballs
Choose small or mini meatballs so they heat through quickly and fit on a spoon. Turkey meatballs or chicken meatballs also work nicely.
Soup base
- 2 tablespoons olive oil
- 1 tablespoon butter
- 1 medium yellow onion, finely diced
- 2 medium carrots, peeled and diced
- 2 celery stalks, diced
- 4 cloves garlic, minced
- 2 tablespoons tomato paste
- 1 teaspoon Italian seasoning
- 1 teaspoon dried basil
- 1/2 teaspoon dried oregano
- 1 teaspoon kosher salt, plus more to taste
- 1/2 teaspoon black pepper
- 1/4 teaspoon red pepper flakes, optional for heat
- 4 cups low sodium chicken broth or vegetable broth
- 1 cup water
- 1 can (14.5 ounces) diced tomatoes, fire roasted if possible
- 1 bay leaf
Use low sodium broth so you control the seasoning. Fire roasted tomatoes add a subtle smoky depth that works nicely with the cream.
Creamy finish and pasta
- 1 to 1 1/4 cups heavy cream or half and half
- 1 cup small pasta, such as ditalini, small shells, or elbow macaroni
- 1/2 cup freshly grated Parmesan cheese, plus more for serving
- 2 cups baby spinach or chopped kale, loosely packed
You can use any small pasta shape that cooks in about 8 to 10 minutes. Whole wheat pasta works, but it may soak up more broth, so keep extra broth or water nearby.
Fresh toppings
- Fresh basil or parsley, chopped
- Extra Parmesan cheese
- Crushed red pepper flakes, optional
Equipment list
- Large heavy pot or Dutch oven, at least 5 quarts
- Cutting board and sharp knife
- Measuring cups and spoons
- Wooden spoon or spatula
- Ladle
- Small bowl and fork for mixing meatballs, if making from scratch
Quick Tips & substitutions
- Brown meatballs well so they add flavor to the broth.
- Use frozen meatballs when you feel tired or short on time.
- Swap heavy cream with half and half for a lighter soup, and simmer gently so it does not curdle.
- Stir in spinach at the very end so it stays bright and tender.
- Cook pasta directly in the soup for extra flavor, or cook it separately if you plan to store leftovers.
- Use gluten free pasta and gluten free breadcrumbs for a gluten free version.
- Replace Italian sausage with ground turkey or chicken for a leaner option.
- Add extra broth if the soup thickens too much as it rests.
How to Make Creamy Italian Meatball Soup Recipe
Step 1: Mix and shape the meatballs
Add ground beef, Italian sausage, breadcrumbs, Parmesan, egg, milk, garlic, Italian seasoning, salt, and pepper to a large bowl. Mix gently with a fork or your hands until everything just comes together. Roll the mixture into small meatballs, about 1 to 1 1/4 inches wide, and place them on a plate or tray.
If you use frozen meatballs, skip this step and move straight to browning or simmering them. Smaller meatballs cook faster and feel easier to eat in soup. Try to keep them similar in size so they cook evenly.
Step 2: Brown the meatballs
Heat 1 tablespoon olive oil in your pot over medium heat. Add meatballs in a single layer and brown them on all sides, turning gently with tongs. Work in batches so you do not crowd the pot.
You do not need to cook them all the way through at this stage, since they finish in the soup. Transfer browned meatballs to a plate and keep them nearby. Leave the browned bits in the pot, since they add flavor to the broth.
If you use frozen fully cooked meatballs, you can brown them briefly for extra flavor or add them straight to the simmering broth later. Browning gives a nicer texture and color, so I suggest that step when you have the time.
Step 3: Sauté the vegetables
Add the remaining 1 tablespoon olive oil and the butter to the same pot. When the butter melts, add onion, carrots, and celery. Stir and cook over medium heat until the vegetables soften and the onion turns translucent, about 5 to 7 minutes.
Add the minced garlic and cook 30 to 60 seconds, just until fragrant. Stir in tomato paste and cook it for 1 to 2 minutes so it darkens slightly and tastes sweeter. This step builds a deeper tomato flavor for the creamy broth.
Step 4: Build the broth
Sprinkle Italian seasoning, dried basil, dried oregano, salt, pepper, and red pepper flakes over the vegetables. Stir to coat everything in the spices. Pour in chicken broth and water, then add the diced tomatoes with their juices and the bay leaf.
Scrape the bottom of the pot with your spoon to lift any browned bits into the liquid. Bring the soup to a gentle boil over medium high heat. Once it boils, lower the heat to a steady simmer.
Step 5: Simmer with meatballs
Add the browned meatballs and any juices from the plate into the pot. Let the soup simmer gently for about 15 minutes so the meatballs cook through and the flavors blend. Stir occasionally so nothing sticks to the bottom.
If you use frozen fully cooked meatballs, add them now and simmer until they heat through, usually 10 to 15 minutes. Check one meatball and cut it open to confirm it feels hot in the center. Taste the broth and adjust salt and pepper as needed.
Step 6: Add pasta
Stir in the dry pasta. Keep the soup at a gentle simmer and cook according to the package directions, usually 8 to 10 minutes, until the pasta turns al dente. Stir often, since pasta likes to sink and stick to the bottom.
If the soup thickens too much as the pasta cooks, add a splash of extra broth or water. The pasta will keep softening slightly even after you turn off the heat. Aim for a broth that feels slightly looser than you want at the end, since it thickens as it rests.
If you plan to store a lot of leftovers, cook the pasta separately in salted water. Add a scoop of pasta to each bowl, then ladle the soup on top. This method keeps the pasta from soaking up all the broth overnight.
Step 7: Make it creamy
Lower the heat to low so the soup barely simmers. Stir in the heavy cream or half and half slowly. Add the grated Parmesan and stir until it melts into the broth.
Taste and adjust seasoning again. The Parmesan adds salt, so wait until after you add it before you add more salt. The broth should taste rich, slightly tangy from the tomatoes, and nicely seasoned.
Step 8: Add greens and finish
Stir in the spinach or kale and cook just until the greens wilt, about 1 to 2 minutes. Turn off the heat and remove the bay leaf.
Ladle the Creamy Italian Meatball Soup Recipe into bowls. Top with extra Parmesan, fresh basil or parsley, and a pinch of red pepper flakes if you like heat. Serve hot while the cheese still melts on top.
Recipe Variations
- Gluten free: Use gluten free meatballs, gluten free breadcrumbs, and gluten free pasta or cooked rice.
- Low carb: Skip the pasta and add extra vegetables like zucchini, mushrooms, or cauliflower florets.
- Vegan: Use plant based meatballs, vegetable broth, olive oil instead of butter, and coconut milk or cashew cream instead of dairy cream, plus vegan Parmesan style cheese.
- Extra protein: Stir in cooked white beans or chickpeas near the end.
- More vegetables: Add diced zucchini, mushrooms, or bell peppers with the carrots and celery.
- Spicy version: Use hot Italian sausage, extra red pepper flakes, and a pinch of smoked paprika.
Ways to Serve Creamy Italian Meatball Soup Recipe
- Serve with warm garlic bread or garlic toast for dipping into the creamy tomato broth.
- Pair with a simple green salad with Italian dressing.
- Spoon it over cooked rice or quinoa for a heartier bowl.
- Offer a toppings bar with extra Parmesan, fresh herbs, and crushed red pepper so everyone customizes their bowl.
- Serve smaller portions as a starter before a simple pasta or roasted chicken dinner.
Storage Success
Let the Creamy Italian Meatball Soup Recipe cool until it feels just warm, then transfer it to airtight containers. Store it in the refrigerator for up to 3 to 4 days. The pasta will soak up some broth, so stir in extra broth or a splash of water when you reheat it on the stove over medium heat.
You can freeze the soup for up to 2 months, but I suggest you freeze it without pasta for the best texture. Reheat frozen soup gently on the stove, then add freshly cooked pasta or serve it as a meatball and vegetable soup without pasta. Stir often while you reheat so the creamy broth stays smooth.

Creamy Italian Meatball Soup Recipe
Ingredients
Instructions
- In a large bowl, combine the ground Italian sausage, ground beef, breadcrumbs, Parmesan, egg, minced garlic, Italian seasoning, salt, and pepper.
- Mix gently with your hands until just combined, being careful not to overwork the meat.
- Roll the mixture into small meatballs, about 1 inch in diameter, and place them on a plate or tray.
- Heat 1 tablespoon of olive oil in a large pot or Dutch oven over medium heat.
- Add the meatballs in a single layer (working in batches if needed) and brown on all sides, about 5–7 minutes. They do not need to be cooked through at this stage.
- Transfer browned meatballs to a plate and set aside, leaving any browned bits in the pot for extra flavor.
- Add the remaining 1 tablespoon of olive oil to the same pot if needed.
- Add the diced onion, sliced carrots, and sliced celery. Cook, stirring occasionally, until the vegetables are softened, about 5–7 minutes.
- Stir in the minced garlic and cook for 30 seconds until fragrant.
- Pour in the chicken broth and diced tomatoes (if using). Scrape up any browned bits from the bottom of the pot.
- Stir in the Italian seasoning, dried basil, salt, and black pepper.
- Return the browned meatballs and any accumulated juices to the pot.
- Bring the soup to a gentle boil over medium-high heat, then reduce the heat to low and simmer, uncovered, for 15 minutes.
- Add the pasta and continue to simmer until the pasta is al dente and the meatballs are cooked through, about 8–10 minutes more, stirring occasionally to prevent sticking.
- Reduce the heat to low. Stir in the heavy cream and grated Parmesan cheese until the cheese is melted and the broth is creamy.
- Add the chopped spinach and cook for 1–2 minutes, just until wilted.
- Taste and adjust seasoning with additional salt and pepper if needed.
- Remove from heat and stir in fresh parsley, if using.
- Ladle the creamy Italian meatball soup into bowls.
- Top with extra grated Parmesan and a sprinkle of fresh parsley, if desired.
- Serve hot with crusty bread for dipping.
Notes
Approximate per serving (1/6 of recipe): 520 calories; fat 34 g; saturated fat 16 g; carbohydrates 25 g; fiber 2 g; sugars 5 g; protein 27 g; sodium 1120 mg. Values are estimates and will vary based on specific ingredients, brands, and portion sizes.

Leave a Reply