Picture a steaming bowl of Creamy Italian Meatball Soup where tender, herb-flecked meatballs float in a luscious tomato-cream broth, surrounded by al dente pasta and vibrant vegetables. This soul-warming soup transforms classic Italian flavors into a one-pot wonder that delivers restaurant-quality taste with minimal effort.
Discover great ideas like this comforting bowl of fusion goodness in my Thai Chicken Coconut Curry recipe, another warming favorite that blends classic tradition with modern flair.
The combination of savory meatballs, rich creamy broth, and hearty vegetables creates a meal that satisfies both body and soul. You’ll learn how to craft perfectly seasoned meatballs from scratch, build layers of flavor in the broth, and bring everything together into a comforting soup that will become your family’s new favorite dinner request.
Table of Contents

Why You’ll Love This Recipe
This Creamy Italian Meatball Soup delivers everything you crave in comfort food without the fuss of complicated cooking techniques. The tender, bite-sized meatballs melt in your mouth while the creamy tomato broth coats every spoonful with rich, aromatic flavor. You’ll appreciate how quickly this comes together—the entire dish from start to finish takes just 45 minutes, making it perfect for busy weeknights when you need something substantial and satisfying.
The textural contrast between the soft meatballs, silky broth, and slightly firm pasta creates an irresistible eating experience. Fresh herbs brighten each bite while Parmesan cheese adds a nutty depth that ties all the flavors together. This Italian meatball soup recipe works beautifully for meal prep, tastes even better the next day, and feeds a crowd without breaking your budget. Kids and adults alike devour this soup, making it a true crowd-pleaser that eliminates the dreaded “what’s for dinner” debate.
Ingredients
For the Meatballs:
- 1 lb. ground beef (80/20 blend for optimal flavor and moisture)
- 1/2 cup Italian breadcrumbs (45g)
- 1/4 cup grated Parmesan cheese (25g)
- 1 large egg, lightly beaten
- 2 cloves garlic, minced
- 1 teaspoon dried Italian seasoning
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
For the Soup:
- 2 tablespoons olive oil
- 1 medium yellow onion, diced (about 1 cup)
- 3 cloves garlic, minced
- 6 cups chicken broth (1.4 liters)
- 1 can (28 oz.) crushed tomatoes
- 1 cup heavy cream (240ml)
- 1 cup ditalini pasta or small shells (100g, uncooked)
- 2 cups fresh spinach, roughly chopped
- 1 teaspoon dried basil
- 1 teaspoon dried oregano
- 1/2 teaspoon red pepper flakes (optional)
- Salt and pepper to taste
- Fresh basil and grated Parmesan for serving
Looking for inspiration? Try our Pineapple Chicken Kabobs for another bold dish that balances sweet and savory flavors beautifully.
Pro Tips
The secret to exceptional meatballs lies in gentle mixing and proper sizing. Overworking the meat mixture develops too much protein structure, resulting in tough, dense meatballs instead of tender ones. Mix ingredients until just combined, then roll them into 1-inch balls for the perfect bite-sized portion that cooks evenly. For the creamiest broth without curdling, remove the soup from direct heat before stirring in the heavy cream, then return to gentle warmth.
This temperature control prevents the dairy from separating and ensures a silky-smooth texture. Don’t skip browning the meatballs before adding them to the soup. This crucial step develops a flavorful crust through the Maillard reaction and helps the meatballs hold their shape during simmering. Even though they’ll finish cooking in the broth, that initial sear creates depth of flavor you simply cannot achieve otherwise. Finally, add the pasta directly to the soup pot rather than cooking it separately—this allows the starch to thicken the broth naturally while the pasta absorbs all those incredible Italian flavors.
Step-by-Step Instructions
Step 1: Prepare the Meatballs
In a large mixing bowl, combine the ground beef, breadcrumbs, Parmesan cheese, egg, minced garlic, Italian seasoning, salt, and pepper. Use your hands or a fork to mix gently until just combined—you should still see some streaks of ingredients rather than a completely uniform mixture. Roll the mixture into 1-inch meatballs, placing them on a plate or baking sheet as you work. You should get approximately 24-28 meatballs. This size ensures they cook through quickly while remaining tender and juicy.
Step 2: Brown the Meatballs
Heat 1 tablespoon of olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Working in batches to avoid overcrowding, add the meatballs and cook for 2-3 minutes, turning occasionally until browned on multiple sides. They don’t need to cook through completely at this stage—you’re just developing that flavorful crust. Transfer browned meatballs to a clean plate and set aside. Don’t worry if some browned bits stick to the bottom of the pot; those fond pieces will add tremendous flavor to your soup base.
Step 3: Build the Soup Base
Reduce heat to medium and add the remaining tablespoon of olive oil to the same pot. Add the diced onion and cook for 4-5 minutes until softened and translucent, stirring occasionally. The onions will pick up those delicious browned bits from the meatballs. Add the minced garlic and cook for another 30 seconds until fragrant—be careful not to let it burn. Pour in the chicken broth and use a wooden spoon to scrape up any remaining fond from the bottom of the pot, incorporating all those concentrated flavors into the liquid.
Step 4: Add Tomatoes and Seasonings
Stir in the crushed tomatoes, dried basil, dried oregano, and red pepper flakes if using. Bring the mixture to a gentle boil, then reduce heat to maintain a steady simmer. Season with salt and pepper to taste, keeping in mind that the flavors will concentrate as the soup cooks and you’ll add salty Parmesan later. This creamy meatball and pasta soup base should smell intensely aromatic at this point, with all the Italian herbs releasing their essential oils.
Step 5: Cook the Meatballs and Pasta
Carefully return the browned meatballs to the pot, nestling them into the simmering broth. Let them cook for 10 minutes, allowing the flavors to meld while the meatballs finish cooking through. Add the uncooked pasta directly to the soup and continue simmering for 8-10 minutes, stirring occasionally to prevent sticking, until the pasta reaches al dente texture. The starch released from the pasta will naturally thicken your soup to a perfect consistency.
Step 6: Finish with Cream and Spinach
Remove the pot from direct heat. Slowly pour in the heavy cream while stirring continuously to incorporate it smoothly into the broth. Return the pot to low heat and add the chopped spinach, stirring until it wilts into the soup, which takes just 1-2 minutes. Taste and adjust seasoning with additional salt and pepper if needed. The Creamy Italian Meatball Soup should have a beautiful coral color with flecks of green from the spinach and herbs.
Variations

Turkey Meatball Version: Substitute ground turkey for the beef to create a lighter variation. Add an extra tablespoon of olive oil to the meat mixture since turkey is leaner and can dry out more easily. The flavor remains delicious while reducing overall fat content.
Tortellini Upgrade: Replace the ditalini pasta with cheese tortellini for an even more indulgent soup. Use frozen tortellini and add them during the last 5-6 minutes of cooking according to package directions. This transforms the soup into an extra-special meal perfect for entertaining.
Dairy-Free Alternative: Use full-fat coconut cream instead of heavy cream and nutritional yeast instead of Parmesan cheese. The coconut cream provides the same luxurious texture without dairy, while nutritional yeast delivers that savory, umami-rich flavor that mimics Parmesan beautifully.
Storage and Serving
Store leftover Creamy Italian Meatball Soup in an airtight container in the refrigerator for up to 4 days. The pasta will continue absorbing liquid as it sits, so you may need to add a splash of chicken broth when reheating. Warm individual portions in the microwave for 2-3 minutes, stirring halfway through, or reheat gently on the stovetop over medium-low heat. For best results, avoid freezing this soup since the cream can separate and the pasta becomes mushy upon thawing.
If you plan to freeze portions, prepare the soup without the cream and pasta, then add fresh cooked pasta and cream when reheating. Serve this hearty soup with crusty Italian bread, garlic toast, or a simple green salad dressed with balsamic vinaigrette. A generous sprinkle of fresh Parmesan cheese and torn basil leaves on top adds beautiful color and fresh flavor. For an extra-special presentation, drizzle each bowl with high-quality extra virgin olive oil just before serving.
Frequently Asked Questions
Can I use frozen meatballs instead of making them from scratch?
Yes, frozen Italian-style meatballs work perfectly as a time-saving shortcut. Use about 24-28 small frozen meatballs and add them directly to the simmering broth without thawing. They’ll need an additional 5 minutes of cooking time to heat through completely.
Why did my soup become too thick?
The pasta absorbs liquid as it sits, which naturally thickens the soup over time. This is especially common with leftovers. Simply add chicken broth or water, 1/2 cup at a time, when reheating until you reach your desired consistency. The flavors remain delicious even after thinning.
Can I make this soup in a slow cooker?
Absolutely! Brown the meatballs and sauté the aromatics as directed, then transfer everything except the cream, pasta, and spinach to your slow cooker. Cook on low for 4-6 hours. During the last 30 minutes, add the pasta, then stir in cream and spinach just before serving.
What can I substitute for heavy cream?
Half-and-half works well for a lighter version, though the soup won’t be quite as rich. For a similar creamy texture, try using full-fat coconut milk or a mixture of whole milk thickened with a tablespoon of cornstarch. Avoid skim or low-fat milk as they tend to curdle in hot soup.
How do I prevent the meatballs from falling apart in the soup?
The key is proper mixing and initial browning. Make sure your meat mixture includes enough binding ingredients (egg and breadcrumbs), mix gently without overworking, and brown the exterior before simmering. Also, maintain a gentle simmer rather than a rolling boil, which can cause delicate meatballs to break apart from aggressive movement.
Conclusion
This Creamy Italian Meatball Soup is comfort food at its finest—a harmonious blend of tender homemade meatballs, silky tomato-cream broth, and perfectly cooked pasta that comes together in one pot with minimal cleanup. It’s the kind of dish that brings the whole family to the table without complaint, warms you from the inside out on chilly evenings, and tastes like you spent hours in the kitchen when it actually took less than an hour.
The rich, satisfying flavors rival anything you’d find at an Italian restaurant, yet the recipe is approachable enough for beginner cooks to master on the first try. Whether you’re meal prepping for the week ahead, feeding a hungry crowd, or simply craving a bowl of something deeply comforting, this soup delivers every single time. Make a big batch, savor every spoonful, and watch it become a permanent fixture in your dinner rotation.
FORE MORE RECIPES FOLLOWE ME IN FACEBOOKB AND PINTEREST
Print
Creamy Italian Meatball Soup
Description
Imagine tender, herb-seasoned meatballs swimming in a velvety tomato-cream broth with pasta and fresh spinach. This one-pot wonder tastes like an Italian restaurant came to your kitchen, and it’s ready in under an hour.
Ingredients
- 1 lb. ground beef (80/20 blend)
- 1/2 cup Italian breadcrumbs
- 1/4 cup grated Parmesan cheese
- 1 large egg, lightly beaten
- 2 cloves garlic, minced
- 1 teaspoon dried Italian seasoning
- 1/2 teaspoon salt
- 1/4 teaspoon black pepper
- 2 tablespoons olive oil
- 1 medium yellow onion, diced
- 3 cloves garlic, minced
- 6 cups chicken broth
- 1 can (28 oz.) crushed tomatoes
- 1 cup heavy cream
- 1 cup ditalini pasta or small shells (uncooked)
- 2 cups fresh spinach, roughly chopped
- 1 teaspoon dried basil
- 1 teaspoon dried oregano
- 1/2 teaspoon red pepper flakes (optional)
- Salt and pepper to taste
- Fresh basil and grated Parmesan for serving
Instructions
- In a large bowl, combine ground beef, breadcrumbs, Parmesan, egg, minced garlic, Italian seasoning, salt, and pepper. Mix gently until just combined and roll into 1-inch meatballs (about 24-28 total).
- Heat 1 tablespoon olive oil in a large Dutch oven over medium-high heat. Brown meatballs in batches for 2-3 minutes, turning occasionally. Transfer to a plate and set aside.
- Reduce heat to medium and add remaining olive oil. Cook diced onion for 4-5 minutes until softened, then add garlic and cook 30 seconds more.
- Pour in chicken broth and scrape up any browned bits from the bottom of the pot. Stir in crushed tomatoes, basil, oregano, and red pepper flakes. Season with salt and pepper.
- Return meatballs to the pot and simmer for 10 minutes. Add pasta and cook 8-10 minutes until al dente, stirring occasionally.
- Remove from heat and slowly stir in heavy cream. Return to low heat, add spinach, and stir until wilted (1-2 minutes). Taste and adjust seasoning.
- Serve hot, garnished with fresh basil and grated Parmesan cheese.
