Easy Meatball Soup
Easy Meatball Soup is a hearty Italian-inspired soup that combines tender homemade beef meatballs, creamy cannellini beans, crushed tomatoes, garlic, herbs, beef broth, and plenty of Parmesan cheese. It has the comfort of a traditional meatball dinner but is served in a warm, tomato-rich broth that makes the dish feel lighter and easier to enjoy by the spoonful.
The meatballs are made especially tender by soaking whole wheat breadcrumbs in milk before mixing them with beef, egg, Parmesan, and parsley. This simple technique helps keep them moist while baking. Once added to the soup, the meatballs absorb some of the savory tomato and herb flavors without losing their structure.
Cannellini beans give the soup additional body and creaminess without requiring heavy cream, while Parmesan adds a salty, nutty finish. The result is a filling one-pot-style meal that is satisfying enough for dinner but straightforward enough for a weeknight.

Why People Will Love Easy Meatball Soup Recipe
Homemade meatballs make the soup feel much more substantial than a simple tomato soup.
Baking the meatballs is easier and less messy than frying them.
The breadcrumb-and-milk mixture keeps the meatballs tender and moist.
Parmesan is incorporated directly into the meatballs for additional savory flavor.
Cannellini beans add creamy texture without making the soup heavy.
Beans provide extra fiber and plant-based protein.
Crushed tomatoes create a rich and comforting broth.
Beef broth gives the soup a deeper savory foundation.
Garlic and Italian seasoning create familiar Italian-style flavors.
Fresh parsley adds brightness to the meatballs.
Fresh thyme makes an aromatic finishing garnish.
Parmesan on top melts slightly into the hot broth.
The soup is naturally hearty without needing pasta.
It is easy to add vegetables if desired.
It reheats well for lunch or dinner the next day.
It can be made ahead for convenient meal preparation.
The recipe uses familiar, easy-to-find ingredients.
It works particularly well with crusty bread.
Both adults and children can enjoy its mild, comforting flavors.
Key Ingredients
Lean Ground Beef:
Ground beef forms the base of the homemade meatballs. A lean but not extremely lean beef provides enough fat for tenderness while preventing the soup from becoming excessively greasy.
Whole Wheat Breadcrumbs:
Breadcrumbs help bind the meatballs while giving them a softer texture. Soaking them in milk first creates a panade, which helps prevent dense, dry meatballs.
Milk:
Milk hydrates the breadcrumbs and contributes moisture to the meatball mixture.
Parmesan Cheese:
Parmesan appears in both the meatballs and the finished soup. Its salty, nutty flavor complements beef, beans, tomatoes, and herbs especially well.
Cannellini Beans:
Cannellini beans are soft, creamy, and mild. They add body, fiber, and protein while absorbing the tomato and beef flavors from the broth.
Crushed Tomatoes:
Crushed tomatoes create a thick, richly colored base while contributing acidity, sweetness, and umami.
Beef Broth:
The broth thins the tomatoes to soup consistency and intensifies the savory beef flavor.
Garlic and Italian Seasoning:
These ingredients provide the familiar aromatic background associated with Italian-inspired tomato sauces and soups.
Fresh Parsley and Thyme:
Parsley freshens the meatballs, while thyme added at serving gives the finished bowl a fragrant herbal note.
Expert Tips
Let the breadcrumbs soak in milk for several minutes before adding them to the meat mixture.
Mix the meatball ingredients gently instead of squeezing or compacting them aggressively.
Overworking ground beef can produce firm, rubbery meatballs.
Keep the meatballs approximately the same size so they cook evenly.
A small cookie scoop can help portion the mixture consistently.
Wet or lightly oil your hands if the meat mixture sticks while shaping.
Bake the meatballs on parchment for easier cleanup.
Do not depend only on exterior browning to judge doneness.
Beef meatballs should reach an internal temperature of 160°F / 71°C.
Rinse cannellini beans thoroughly to reduce excess sodium and canning liquid.
Use reduced-sodium beef broth if possible.
Simmer rather than aggressively boil the soup after the meatballs are added.
Gentle simmering helps the meatballs retain their shape.
Add extra broth if the soup becomes thicker than desired.
Taste before adding more salt because Parmesan, broth, beans, and the meatball mixture already contain sodium.
Add the Parmesan garnish immediately before eating for the best flavor and texture
Easy Meatball Soup
Ingredients
For the Meatballs
½ cup whole wheat breadcrumbs
½ cup whole milk
1 large egg
½ cup finely grated Parmesan cheese
¼ cup fresh parsley, finely chopped
2 teaspoons kosher salt
Freshly ground black pepper, to taste
1 pound lean ground beef
For the Soup
4 cups beef broth or prepared beef bouillon
2 (15-ounce) cans cannellini beans, rinsed and drained
2 (15-ounce) cans crushed tomatoes, with their juices
2–3 garlic cloves, minced
½ teaspoon kosher salt, or to taste
¼ teaspoon coarsely ground black pepper
1 teaspoon Italian seasoning
For Serving
⅔ cup shredded Parmesan cheese
Fresh thyme sprigs or thyme leaves, for garnish
Instructions
Prepare the Meatballs
Preheat the oven to 400°F / 205°C.
Line a large rimmed baking sheet with parchment paper.
In a small bowl, combine the whole wheat breadcrumbs and milk. Let the mixture sit for a few minutes so the breadcrumbs can absorb the milk and soften.
In a large mixing bowl, combine the egg, grated Parmesan, chopped parsley, kosher salt, black pepper, and ground beef.
Add the soaked breadcrumb mixture.
Using clean hands, gently mix everything together until evenly combined. Avoid overmixing, as this can make the meatballs dense.
Shape the Meatballs
Scoop portions of the meat mixture and roll them into meatballs about 1½ inches in diameter.
Arrange them evenly on the prepared baking sheet, leaving a little space between each one.
Bake the Meatballs
Bake for about 12–15 minutes, or until browned and cooked through.
For food safety, beef meatballs should reach an internal temperature of 160°F / 71°C.
Start the Soup
When the meatballs are nearly finished baking, pour the beef broth into a large soup pot or Dutch oven.
Place over medium-high heat and bring the broth to a gentle boil.
Add the Soup Ingredients
Add the cooked meatballs, drained and rinsed cannellini beans, crushed tomatoes with their juices, minced garlic, salt, black pepper, and Italian seasoning.
Stir gently to combine.
Simmer the Soup
Reduce the heat to medium-low and let the soup simmer gently for about 18–20 minutes.
Stir occasionally, allowing the meatballs, beans, tomatoes, garlic, and seasonings to blend into the broth.
Taste and Adjust
Taste the soup before serving.
Adjust with additional salt, black pepper, or Italian seasoning if needed.
If the soup becomes thicker than you prefer, stir in a small amount of additional beef broth.
Serve
Ladle the hot soup into bowls.
Top each serving with shredded Parmesan cheese and fresh thyme leaves.
Serve immediately while the meatballs are tender, the beans are creamy, and the broth is hot and flavorful.
Important Notes When Making Easy Meatball Soup
The recipe contains a relatively generous amount of Parmesan and salt, so sodium can be substantial.
Reduced-sodium broth is especially useful for this soup.
Cannellini beans should be drained and rinsed before adding.
The crushed tomatoes should be added with their juices.
The meatballs should be fully baked before simmering them in the soup.
Avoid simmering the cooked meatballs for an excessively long time because they can eventually become firm.
The beans are already cooked and only need enough simmering time to absorb flavor.
The soup will become slightly thicker as it rests.
If refrigerated overnight, the beans and meatballs will absorb some additional liquid.
Add beef broth during reheating if necessary.
Fresh thyme stems can be woody, so use the tender leaves for garnish.
Parmesan contributes saltiness, so always taste before making the final salt adjustment.
Whole wheat breadcrumbs can be replaced with regular breadcrumbs if needed.
Freshly grated Parmesan generally melts better than pre-shredded cheese.
Refrigerate leftovers promptly after cooling.
Reheat gently until the soup and meatballs are thoroughly hot.

How to Enjoy Easy Meatball Soup After Cooking
Once the soup has finished simmering, let it rest off the heat for about 5–10 minutes. This gives the tomato broth a chance to settle and allows the flavors from the meatballs, beans, garlic, and seasonings to become more integrated.
Ladle the soup into deep bowls, making sure each serving receives several meatballs, plenty of cannellini beans, and a generous amount of tomato broth.
Sprinkle shredded Parmesan over the soup while it is still hot. Some of the cheese will melt into the broth while the rest remains visible on top.
Finish with fresh thyme leaves and freshly cracked black pepper.
For additional freshness, chopped parsley or fresh basil can also be scattered over the surface.
Serve the soup with crusty Italian bread, garlic bread, focaccia, or toasted sourdough. Bread works particularly well for soaking up the tomato-beef broth.
A simple green salad dressed with lemon juice or red wine vinegar makes an excellent side because its acidity balances the rich meatballs and Parmesan.
For a more substantial meal, you can add cooked ditalini, small shells, or orzo directly to individual bowls.
If serving leftovers, reheat the soup slowly over medium-low heat and add a splash of broth if the consistency has become too thick.
Nutrition Information
Approximate nutrition per serving, based on about 6 servings, including the Parmesan topping:
Calories: 575 kcal | Total Fat: 24 g | Saturated Fat: 10 g | Monounsaturated Fat: 9 g | Polyunsaturated Fat: 2.5 g | Cholesterol: 100 mg | Sodium: 1,450–1,850 mg depending on the beef broth, canned beans, Parmesan, and added salt | Total Carbohydrates: 48 g | Dietary Fiber: 10 g | Sugars: 10 g | Protein: 41 g
Additional estimate:
Potassium: 1,200–1,500 mg | Calcium: 380–480 mg | Iron: 5–7 mg | Magnesium: 85–115 mg | Vitamin A: 1,200–1,800 IU | Vitamin C: 18–28 mg | Vitamin B12: 2–3 mcg | Zinc: 5–7 mg
Frequently Asked Questions:
What does Easy Meatball Soup taste like?
It is savory, tomato-rich, cheesy, garlicky, and mildly herbaceous, with tender beef meatballs and creamy beans making the broth especially satisfying.
Is this soup filling enough to serve as dinner?
Yes. Beef meatballs, cannellini beans, Parmesan, and the tomato broth provide plenty of protein and substance for a full meal.
What should I serve with Meatball Soup?
Crusty Italian bread, garlic bread, focaccia, Caesar salad, green salad, or roasted vegetables are all excellent choices.
Can I add pasta to the soup?
Yes. Ditalini, orzo, small shells, or elbow macaroni work well. For leftovers, cook the pasta separately and add it to individual bowls so it does not absorb all the broth.
Can I use a different type of bean?
Yes. Great Northern beans or navy beans are good alternatives, though cannellini beans have an especially creamy texture and larger size.
Why are the breadcrumbs soaked in milk before making the meatballs?
The soaked breadcrumb mixture, known as a panade, holds moisture inside the meatballs and helps prevent them from becoming dry or overly dense.
Why should I avoid overmixing the meatball mixture?
Overmixing compresses the ground meat and develops a firmer texture. Gentle mixing produces lighter, more tender meatballs.
Can I fry the meatballs instead of baking them?
Yes. Pan-browning creates a deeper crust, but baking is cleaner and allows all of the meatballs to cook at the same time.
How do I make the soup thicker?
Mash about ½–1 cup of the cannellini beans with a little broth and stir them back into the soup. Their natural starch will thicken the broth without flour or cream.
Can I make this soup ahead of time?
Yes. Prepare the meatballs and soup, cool them, and refrigerate in a covered container. The flavor often improves overnight. Reheat gently and add additional beef broth if the soup has thickened.