Written by

Emily Watson

Published

Cozy Italian Meatball Soup Recipe – Best Homemade Comfort

Ready In 40 minutes
Servings 6 servings
Difficulty Easy

Love this? Save it for later!

Share the inspiration with your friends

I was standing in my kitchen, staring at a half-empty box of ditalini pasta and wondering if I could will a decent dinner into existence. It had been one of those weeks where takeout menus started looking like legitimate reading material, and my fridge held little more than a sad bundle of spinach and some forgotten carrots. The truth is, I needed something warm. Something that felt like a hug in a bowl but didn’t require a trip to the grocery store or an hour of chopping.

That’s when I remembered the Italian sausage in the freezer and the can of diced tomatoes gathering dust in the pantry. I figured I could throw together a quick soup, but honestly, I wasn’t expecting much. I browned the sausage, tossed in some garlic, and let the whole thing simmer while I rolled tiny meatballs from the same seasoned meat. It felt a little redundant, sure, but I was too tired to overthink it.

Twenty-five minutes later, I ladled that broth into a bowl and took a spoonful. And then another. And then I texted my sister a photo with the caption, “Why have I never made this before?” The soup was rich without being heavy, the meatballs were tender, and the little pasta pearls made every bite feel complete. It wasn’t complicated or fancy. It was just exactly what I needed on a cold, quiet Tuesday night.

That accidental bowl of soup turned into a regular in my rotation. It’s the kind of recipe that feels like it’s been in your family for years, even if you just invented it on a whim. And now, I’m pretty sure you’re going to feel the same way about this Cozy Italian Meatball Soup Recipe.

Why You’ll Love This Recipe

I’ve tested a lot of soup recipes over the years, and this one stands out for good reason. It’s not just another Italian soup—it’s the one I make when I want something that tastes slow-simmered but comes together in under an hour. Here’s why it keeps ending up in my meal plan:

  • Quick & Easy: From start to finish, this soup is ready in about 40 minutes. That includes rolling the meatballs, which honestly takes less time than you think.
  • Simple Ingredients: You probably have most of these in your kitchen right now. No fancy cheese or hard-to-find herbs required.
  • Perfect for Meal Prep: The flavors actually get better after a day in the fridge. Make a big batch and enjoy it all week long.
  • Crowd-Pleaser: I’ve served this to picky kids, hungry teenagers, and adults who claim they don’t like soup. Everyone goes back for seconds.
  • Unbelievably Comforting: There’s something about those little homemade meatballs floating in a savory broth with tender vegetables and pasta. It’s the definition of cozy.

What makes this recipe different from the dozens of other Italian meatball soups out there? It’s the technique. Instead of browning the meatballs separately (which is messy and time-consuming), you simmer them directly in the broth. This keeps them incredibly tender and infuses the soup with even more flavor. Plus, I use a blend of ground beef and Italian sausage for that perfect balance of richness and spice.

This isn’t just soup. It’s the kind of meal that makes you slow down, take a deep breath, and actually enjoy your evening. Whether you’re feeding a family or just yourself, this Cozy Italian Meatball Soup Recipe delivers every single time.

What Ingredients You Will Need

This recipe relies on everyday ingredients that come together to create something genuinely special. Here’s what you’ll need and why each one matters:

For the Meatballs

  • ½ pound ground beef (80/20): The fat content keeps the meatballs moist. I prefer 80/20 for this recipe because leaner beef can turn out dry.
  • ½ pound mild Italian sausage (casings removed): This adds a beautiful depth of flavor and a little kick. If you like heat, go for hot Italian sausage instead.
  • ⅓ cup plain breadcrumbs: Helps bind the meatballs and keeps them tender. Panko works great too.
  • ¼ cup grated Parmesan cheese: Adds a salty, nutty flavor. Use the good stuff from a block, not the shelf-stable powder.
  • 1 large egg: The binder that holds everything together.
  • 2 cloves garlic, minced: Fresh garlic makes a noticeable difference here.
  • 1 tablespoon fresh parsley, chopped: Or 1 teaspoon dried. Adds a little freshness.
  • ½ teaspoon salt: Don’t skip this even if your sausage is salty.
  • ¼ teaspoon black pepper: Just a touch for balance.

For the Soup

cozy italian meatball soup recipe preparation steps

  • 1 tablespoon olive oil: For sautéing the aromatics.
  • 1 medium yellow onion, diced: The base of the soup’s flavor.
  • 2 carrots, peeled and diced: Adds sweetness and color.
  • 2 celery stalks, diced: Classic mirepoix for a savory foundation.
  • 3 cloves garlic, minced: More garlic because, well, it’s Italian soup.
  • 6 cups low-sodium chicken broth: Using low-sodium lets you control the salt level. I like Swanson or Kitchen Basics.
  • 1 can (14.5 ounces) diced tomatoes, undrained: Fire-roasted diced tomatoes add a subtle smoky flavor if you can find them.
  • 1 teaspoon dried oregano: Essential Italian herb.
  • 1 teaspoon dried basil: Or 1 tablespoon fresh basil added at the end.
  • ½ teaspoon red pepper flakes (optional): For a gentle warmth.
  • 1 cup small pasta (ditalini, orzo, or stelline): These tiny shapes are perfect for soup. Don’t overcook them—they’ll continue softening in the hot broth.
  • 2 cups fresh spinach or kale, roughly chopped: Adds color and nutrients. Stir it in at the very end so it just wilts.
  • Salt and pepper to taste: Adjust at the end after the Parmesan has been added.

For Serving

  • Freshly grated Parmesan cheese: A must for topping each bowl.
  • Fresh parsley or basil: A sprinkle of green makes it look restaurant-worthy.
  • Crusty bread: For dipping, because you’ll want to soak up every drop of that broth.

One note on the meat: I’ve made this with all ground beef, all turkey, and even plant-based sausage. The beef-sausage combo is my favorite, but feel free to experiment based on what you have. If you’re looking for another one-pot comfort meal, you might also enjoy this cozy creamy chicken pot pie soup—it has that same soothing vibe with a completely different flavor profile.

Equipment Needed

You don’t need a lot of fancy tools for this recipe, which is part of its charm. Here’s what you’ll need:

  • Large Dutch oven or heavy-bottomed pot (5 to 6 quarts): This is my go-to for soups. The heavy bottom distributes heat evenly and prevents scorching. If you don’t have a Dutch oven, any large soup pot will work.
  • Cutting board and sharp knife: You’ll be dicing onions, carrots, and celery, so a good knife makes the job faster and safer.
  • Mixing bowl: For combining the meatball ingredients.
  • Measuring cups and spoons: Accuracy matters, especially with the seasonings.
  • Wooden spoon or spatula: For stirring and breaking up the meat as it browns.
  • Small cookie scoop or tablespoon: This makes forming uniform meatballs incredibly easy. A spoon works fine too, but the scoop saves time and gives you evenly sized meatballs that cook at the same rate.
  • Ladle: For serving.

I’ve made this soup in a cheap stockpot from a discount store and it turned out just fine. The real key is having a pot that holds heat well. If you’re investing in one piece of cookware, a good Dutch oven is worth every penny. I’ve had my Lodge for years and it’s never let me down.

Preparation Method

Let’s walk through this step by step. I promise it’s easier than it looks.

  1. Make the meatball mixture (5 minutes): In a medium mixing bowl, combine the ground beef, Italian sausage, breadcrumbs, grated Parmesan, egg, minced garlic, parsley, salt, and pepper. Use your hands to mix everything together gently. Don’t overwork it—overmixing makes meatballs tough. Just combine until no streaks of egg remain.
  2. Form the meatballs (5 minutes): Roll the mixture into small, 1-inch balls. You should get about 20 to 24 meatballs. Place them on a plate or baking sheet while you work. A small cookie scoop makes this step fly by.
  3. Sauté the aromatics (8 minutes): Heat the olive oil in your Dutch oven over medium heat. Add the diced onion, carrots, and celery. Cook, stirring occasionally, until the vegetables soften and the onion turns translucent, about 5 to 6 minutes. Add the minced garlic and cook for another minute until fragrant. Don’t let the garlic burn—it turns bitter fast.
  4. Build the broth (2 minutes): Pour in the chicken broth and the can of diced tomatoes with their juices. Stir in the dried oregano, dried basil, and red pepper flakes if using. Use your wooden spoon to scrape up any browned bits from the bottom of the pot—that’s pure flavor.
  5. Add the meatballs (1 minute): Gently drop the raw meatballs into the simmering broth. Don’t stir them around too much at first or they might break apart. Let them settle into the liquid.
  6. Simmer the soup (15 minutes): Bring the soup to a gentle boil, then reduce the heat to low. Cover and let it simmer for 15 minutes. The meatballs will cook through and release their juices into the broth, making it even more flavorful. You’ll know they’re done when they float to the surface and feel firm to the touch.
  7. Cook the pasta (8 to 10 minutes): Stir in the small pasta. Increase the heat to medium and cook uncovered, stirring occasionally, until the pasta is tender but still has a little bite (al dente). Check the package instructions for timing—different shapes cook at different rates. Remember, the pasta will continue to soften in the hot soup even after you turn off the heat.
  8. Add the greens (1 minute): Turn off the heat and stir in the chopped spinach or kale. The residual heat will wilt the greens in about a minute. If you’re using kale, you might want to let it sit for 2 to 3 minutes to fully soften.
  9. Season and serve: Taste the broth and adjust salt and pepper as needed. Remember that the Parmesan you’ll add at the table is salty, so go easy on the salt now. Ladle the soup into bowls and top with a generous sprinkle of freshly grated Parmesan and a pinch of fresh parsley or basil.

That’s it. One pot, minimal fuss, and dinner is on the table in about 40 minutes. For another quick weeknight dinner that delivers big on flavor with almost no cleanup, try these crispy baked mini corn dog bites—they’re a hit with kids and adults alike.

Cooking Tips & Techniques

Over the many times I’ve made this soup, I’ve picked up a few tricks that make a real difference. Here are the ones I wish I’d known from the start:

Don’t skip the breadcrumbs in the meatballs. I tried making these without breadcrumbs once because I was out, and the meatballs turned out dense and a little rubbery. The breadcrumbs (and egg) create a tender texture that soaks up the broth beautifully. If you’re gluten-free, use gluten-free breadcrumbs or almond flour—just know the texture will be slightly different.

Keep the meatballs small. I know big meatballs are tempting, but for soup, smaller is better. They cook faster, fit neatly on a spoon, and distribute evenly throughout the bowl. Aim for 1-inch diameter—about the size of a walnut.

Resist the urge to brown the meatballs first. I see recipes all the time that call for searing meatballs before adding them to soup. Don’t do it. Simmering them raw in the broth keeps them incredibly tender and infuses the liquid with all that meaty goodness. Plus, it saves you a messy step and a dirty pan.

Cook the pasta separately if you’re meal prepping. Here’s the thing about pasta in soup: it keeps absorbing liquid and gets mushy after a day or two. If you plan to eat this over several days, cook the pasta separately and add it to individual bowls when serving. Store the soup base and pasta separately in the fridge. This one trick will change your leftover soup game forever.

Use low-sodium broth and season at the end. Sausage and Parmesan are both salty, so it’s easy to oversalt this soup if you’re not careful. Start with low-sodium broth and wait until the very end to add extra salt. Trust your taste buds.

Let the soup rest for 10 minutes before serving. I know you’re hungry, but giving the soup a short rest allows the flavors to meld and the meatballs to firm up slightly. It’s worth the wait.

One mistake I made early on was adding the pasta too early and walking away. I came back to a pot of mushy, bloated pasta swimming in thickened broth. Learn from my failure—keep an eye on that timer and taste the pasta as it cooks.

Variations & Adaptations

This recipe is incredibly flexible, which is one of the reasons I make it so often. Here are some ways to switch it up:

Dietary Adaptations

  • Gluten-Free: Use gluten-free breadcrumbs or almond flour in the meatballs, and swap the pasta for gluten-free pasta or rice. Cook the pasta separately to avoid it turning to mush.
  • Low-Carb/Keto: Skip the pasta entirely and add extra vegetables like zucchini noodles or cauliflower florets. The meatballs and broth are already low-carb.
  • Dairy-Free: Omit the Parmesan in the meatballs or use a dairy-free alternative. Nutritional yeast can add a cheesy flavor without the dairy.
  • Vegetarian: Use plant-based ground meat or lentil-based meatballs, and swap the chicken broth for vegetable broth. The flavor will be different but still delicious.

Flavor Twists

  • Spicy Arrabiata Style: Double the red pepper flakes and use hot Italian sausage. Add a splash of red wine vinegar at the end for brightness.
  • Herb-Forward: Stir in a handful of fresh basil and oregano just before serving. A drizzle of pesto on top takes it over the edge.
  • Cheesy Broth: Stir in a handful of shredded Parmesan or Pecorino Romano at the end for an extra-rich, silky broth.
  • Vegetable-Packed: Add diced zucchini, bell peppers, or mushrooms along with the carrots and celery. More veggies never hurt anyone.

Different Cooking Methods

  • Slow Cooker: Brown the sausage and sauté the vegetables on the stovetop first, then transfer everything except the pasta and spinach to a slow cooker. Cook on low for 6 to 8 hours or high for 3 to 4 hours. Add the pasta in the last 20 minutes of cooking, then stir in the spinach before serving.
  • Instant Pot: Use the sauté function to brown the meat and vegetables. Add the broth, tomatoes, and meatballs, then pressure cook on high for 5 minutes. Quick release, stir in the pasta, and cook on sauté mode until the pasta is tender. Add spinach at the end.

I once made this with turkey meatballs and added a handful of chopped kale because that’s what I had in the fridge. It was honestly one of the best versions I’ve made. Don’t be afraid to clean out your vegetable drawer—this soup is very forgiving.

If you’re in the mood for another cozy, one-pot meal that’s perfect for chilly evenings, this cozy creamy vegan butter bean soup is a fantastic plant-based option that delivers the same comforting feeling.

Serving & Storage Suggestions

This soup is best served piping hot, straight from the pot. Ladle it into deep bowls and top each serving with a generous pile of freshly grated Parmesan cheese and a sprinkle of chopped parsley or basil. A drizzle of good olive oil right before serving adds a lovely fruity finish that cuts through the richness.

What to serve with it: A thick slice of crusty bread is non-negotiable in my house. You need something to soak up that glorious broth. Garlic bread, a simple green salad with lemon vinaigrette, or even a grilled cheese sandwich all make excellent companions. If you’re feeling fancy, serve it alongside these chicken alfredo garlic bread for an indulgent Italian-inspired feast.

Storage: Let the soup cool completely before transferring it to an airtight container. It will keep in the refrigerator for up to 4 days. As I mentioned earlier, the pasta will continue to absorb liquid, so the soup will thicken over time. That’s normal. When reheating, add a splash of broth or water to thin it back to your desired consistency.

Freezing: This soup freezes beautifully—with one caveat. If you plan to freeze it, leave the pasta out. Cook the soup without the pasta, let it cool, and freeze in portion-sized containers for up to 3 months. When you’re ready to eat, thaw the soup in the refrigerator overnight, reheat it on the stovetop, and cook fresh pasta to add at the end. The meatballs freeze perfectly and taste just as good as the day you made them.

Reheating: Reheat gently on the stovetop over medium-low heat, stirring occasionally. You can also microwave individual portions in 30-second bursts, stirring between each. Add a little broth or water if the soup has thickened too much.

One thing I love about this soup is how the flavors deepen overnight. The meatballs soak up the broth, the herbs meld together, and every spoonful tastes even better the next day. It’s one of those rare recipes that rewards patience.

Nutritional Information & Benefits

Here’s an approximate nutritional breakdown for one serving of this Cozy Italian Meatball Soup Recipe (based on 6 servings, with pasta and spinach):

  • Calories: 385
  • Protein: 24g
  • Fat: 18g
  • Carbohydrates: 30g
  • Fiber: 4g
  • Sugar: 7g
  • Sodium: 890mg (varies based on broth and cheese)

This soup offers a good balance of protein, healthy fats, and complex carbohydrates. The carrots and spinach provide vitamin A, vitamin C, and iron, while the garlic and onions offer immune-supporting compounds. Using lean ground beef and turkey sausage can reduce the fat content if that’s a concern.

From a wellness perspective, this is the kind of meal that fills you up without weighing you down. It’s hearty enough to be a main course but light enough that you don’t feel sluggish afterward. I love that it packs in vegetables without feeling like a “healthy” recipe—it just tastes good.

If you’re watching your sodium, use no-salt-added broth and go easy on the Parmesan. The flavor will still be fantastic.

Conclusion

This Cozy Italian Meatball Soup Recipe has become a staple in my kitchen for good reason. It’s the kind of meal that feels like a warm blanket on a cold day, a bowl of pure comfort that doesn’t require hours of effort or a long list of hard-to-find ingredients. The tender homemade meatballs, the savory broth, the tender vegetables, and those little pasta pearls all come together in a way that’s greater than the sum of its parts.

What I love most about this recipe is how adaptable it is. You can make it your own—swap the meat, change the vegetables, adjust the spice level, or throw in whatever pasta shape you have on hand. It’s forgiving, it’s flexible, and it always delivers. Whether you’re cooking for a crowd or just for yourself on a quiet evening, this soup never disappoints.

I’d love to hear how it turns out for you. Did you add your own twist? Use a different type of meat? Discover a new favorite pasta shape? Drop a comment below and let me know. And if you share a photo on Pinterest or Instagram, tag me—I want to see your cozy bowl of Italian comfort.

Here’s to warm kitchens, full bowls, and the kind of meals that remind you why homemade is always worth it.

Frequently Asked Questions

Can I use frozen meatballs instead of making them from scratch?

Absolutely. Frozen Italian meatballs work in a pinch, though the texture and flavor won’t be quite the same as homemade. Add them frozen directly to the simmering broth and cook for about 10 minutes longer than fresh meatballs. Look for smaller meatballs (around 1 inch) so they fit nicely in the soup.

What’s the best pasta shape for this soup?

Small pasta shapes are ideal because they fit neatly on a spoon and cook quickly. Ditalini, orzo, stelline, pastina, and small shells are all excellent choices. I’ve also used broken spaghetti pieces in a pinch—whatever you have in the pantry will work.

How do I keep the meatballs from falling apart in the soup?

The key is not to stir the soup vigorously right after adding the meatballs. Gently drop them in and let them cook undisturbed for the first 5 minutes. The egg and breadcrumbs act as binders, so as long as you don’t jostle them too much, they’ll hold together beautifully.

Can I make this soup in advance for a party?

Yes, with one important tip: cook the pasta separately and add it to individual bowls when serving. This prevents the pasta from turning mushy and soaking up all the broth. You can make the soup base and meatballs a day ahead, then reheat and add the freshly cooked pasta right before serving.

Is this soup freezer-friendly?

Yes, but leave out the pasta and spinach if you plan to freeze it. Freeze the soup base and meatballs in portion-sized containers for up to 3 months. When reheating, cook fresh pasta and stir in fresh spinach. The meatballs freeze beautifully and taste just as good as fresh.

Pin This Recipe!

cozy italian meatball soup recipe recipe

Print

Cozy Italian Meatball Soup Recipe – Best Homemade Comfort

A hearty and comforting Italian meatball soup with tender homemade meatballs, savory broth, vegetables, and small pasta. Ready in about 40 minutes, this one-pot meal is perfect for busy weeknights and tastes even better the next day.

  • Author: Indigo
  • Prep Time: 15 minutes
  • Cook Time: 25 minutes
  • Total Time: 40 minutes
  • Yield: 6 servings 1x
  • Category: Main Course
  • Cuisine: Italian

Ingredients

Scale
  • ½ pound ground beef (80/20)
  • ½ pound mild Italian sausage (casings removed)
  • ⅓ cup plain breadcrumbs
  • ¼ cup grated Parmesan cheese
  • 1 large egg
  • 2 cloves garlic, minced
  • 1 tablespoon fresh parsley, chopped
  • ½ teaspoon salt
  • ¼ teaspoon black pepper
  • 1 tablespoon olive oil
  • 1 medium yellow onion, diced
  • 2 carrots, peeled and diced
  • 2 celery stalks, diced
  • 3 cloves garlic, minced
  • 6 cups low-sodium chicken broth
  • 1 can (14.5 ounces) diced tomatoes, undrained
  • 1 teaspoon dried oregano
  • 1 teaspoon dried basil
  • ½ teaspoon red pepper flakes (optional)
  • 1 cup small pasta (ditalini, orzo, or stelline)
  • 2 cups fresh spinach or kale, roughly chopped
  • Salt and pepper to taste
  • Freshly grated Parmesan cheese (for serving)
  • Fresh parsley or basil (for serving)
  • Crusty bread (for serving)

Instructions

  1. Make the meatball mixture: In a medium mixing bowl, combine the ground beef, Italian sausage, breadcrumbs, grated Parmesan, egg, minced garlic, parsley, salt, and pepper. Use your hands to mix everything together gently until no streaks of egg remain. Do not overwork.
  2. Form the meatballs: Roll the mixture into small, 1-inch balls. You should get about 20 to 24 meatballs. Place them on a plate or baking sheet.
  3. Sauté the aromatics: Heat the olive oil in a large Dutch oven over medium heat. Add the diced onion, carrots, and celery. Cook, stirring occasionally, until the vegetables soften and the onion turns translucent, about 5 to 6 minutes. Add the minced garlic and cook for another minute until fragrant.
  4. Build the broth: Pour in the chicken broth and the can of diced tomatoes with their juices. Stir in the dried oregano, dried basil, and red pepper flakes if using. Scrape up any browned bits from the bottom of the pot.
  5. Add the meatballs: Gently drop the raw meatballs into the simmering broth. Do not stir them around too much at first.
  6. Simmer the soup: Bring the soup to a gentle boil, then reduce the heat to low. Cover and let it simmer for 15 minutes. The meatballs will cook through and float to the surface.
  7. Cook the pasta: Stir in the small pasta. Increase the heat to medium and cook uncovered, stirring occasionally, until the pasta is tender but still has a little bite (al dente), about 8 to 10 minutes.
  8. Add the greens: Turn off the heat and stir in the chopped spinach or kale. The residual heat will wilt the greens in about 1 minute.
  9. Season and serve: Taste the broth and adjust salt and pepper as needed. Ladle the soup into bowls and top with freshly grated Parmesan cheese and a sprinkle of fresh parsley or basil. Serve with crusty bread.

Notes

For meal prep, cook pasta separately and add to individual bowls to prevent it from getting mushy. The soup freezes well without pasta and spinach. Use low-sodium broth and season at the end to control saltiness. Let the soup rest for 10 minutes before serving for best flavor.

Nutrition

  • Serving Size: 1 bowl (about 1.5 cu
  • Calories: 385
  • Sugar: 7
  • Sodium: 890
  • Fat: 18
  • Saturated Fat: 6
  • Carbohydrates: 30
  • Fiber: 4
  • Protein: 24

Keywords: Italian meatball soup, homemade meatball soup, cozy soup recipe, easy weeknight dinner, one-pot meal, comfort food, Italian sausage soup

Did you make this recipe?

Share a photo and tag us — we can't wait to see what you've made!

You might also love these recipes

Leave a Comment

Recipe rating