Beef Balls Soup Recipe: Umami-Packed Meatballs in Rich Tomato Broth

Soups & Stews

Beef Balls Soup Recipe: Umami-Packed Meatballs in Rich Tomato Broth

This beef ball soup recipe delivers hearty, umami-rich meatballs simmered in a velvety tomato broth that tastes like a restaurant classic. The secret lies in tender beef balls—juicy inside, slightly crisp on the edges—poached just long enough to absorb the broth's deep flavors without falling apart.

I perfected this version after years of testing, balancing traditional techniques with modern shortcuts that still deliver restaurant-quality results every time.

The magic starts with the meatballs: ground beef, breadcrumbs, and egg bind together with aromatic spices while baking to develop a satisfying texture. Meanwhile, the broth builds in layers—caramelized onions, garlic, and crushed tomatoes form the base, enriched with beef stock and a splash of red wine for depth.

What sets this apart is the slow simmer, which allows all those flavors to meld into a cohesive, comforting bowl.

By the time you serve it, you'll have a steaming pot of soup where each bite delivers tender meatballs in a rich, slightly tangy broth that clings to every spoonful.

The aroma alone transforms any kitchen into a cozy dining experience, and the leftovers taste even better the next day as flavors deepen. This is the kind of dish that feels like a hug in a bowl—perfect for chilly evenings or when you crave something truly satisfying.

Serve with crusty bread to soak up every drop of that flavorful broth, or pair it with a simple green salad for balance. The recipe scales easily for crowds, and the components can be prepped ahead, making it ideal for meal prep.

Let's get started on this comforting classic that never disappoints.

👨‍🍳
Difficulty
Medium
🥩
Category
Meat
🔥
Calories
Med Cal

Ingredients for beef ball soup

Ground beef, breadcrumbs, and aromatic spices create tender meatballs while tomatoes and wine build rich, velvety broth.

Ingredient Amount Notes
Ground Beef (80/20) 🥩 1 ½ lb 80% lean, 20% fat preferred
Breadcrumbs (Plain) 🍞 ½ cup Dry, fine texture works best
Large Eggs 🥚 1 whole Room temperature preferred
Small Yellow Onion 🧅 1 whole Finely chopped for meatballs
Garlic Cloves 🧄 4 cloves Freshly minced for flavor
Canned Crushed Tomatoes 🍅 14 ½ oz San Marzano preferred
Beef Stock 💧 4 cups Homemade or high-quality
Red Wine 🍷 ½ cup Dry, bold variety
Olive Oil 🫒 ¼ cup Extra-virgin for richness
Dried Parsley 🌿 1 tbsp Or 2 tbsp fresh chopped
Ground Black Pepper 🌶️ 1 tsp Freshly ground preferred
Salt 🧂 1 ½ tsp Kosher or sea salt
Dried Oregano 🍃 1 tsp Italian variety preferred
Bay Leaves 🌿 2 whole Fresh if available
Fresh Basil 🌿 ¼ cup Chopped for garnish

The beef is everything here—80/20 ground chuck gives you that perfect balance of juiciness and texture. Costco or local butchers usually have the best quality, but any grocery store's pre-packaged ground beef works in a pinch. Look for good marbling if you're buying a whole chuck roast to grind yourself. The breadcrumbs? Plain, dry, and fine—panko gets too crispy and can make the meatballs tough. I always toast mine in a dry pan for 2 minutes to deepen the flavor, but that's optional. Fresh parsley and basil from Trader Joe's or your local farmers market add that restaurant-quality brightness that separates homemade from store-bought.

No red wine? Substitute with beef broth plus 1 tbsp balsamic vinegar—it adds that same tangy depth. Dried oregano can be swapped for fresh at a 1:3 ratio, but trust me, the dried version is more convenient. The tomatoes? San Marzano if you can find them—they're sweeter and less acidic, but any good-quality crushed tomatoes work. Short on bay leaves? Double the oregano for a similar earthy note. The beef stock makes or breaks the broth—homemade is ideal, but even the good-quality store-bought stuff (like Kitchen Basics) works. For the meatballs, if you don't have fresh parsley, dried works at half the amount but fresh is definitely better.

Meatballs keep in the fridge for 3 days before baking—make a double batch and freeze half for later. The broth freezes beautifully for up to 3 months, so double it if you're planning ahead. I always portion the meatballs into single-serving containers before freezing so I can grab them straight from the freezer. The fresh basil? Store it in a glass of water like flowers—keeps it fresh for a week. This soup actually tastes better the next day as all the flavors meld together, so plan to make it when you have time to let it sit.

❤️

Why You'll Love This Recipe

  • No-Fuss Mixing: I swear by the 80/20 ground beef here—it’s juicy, forgiving, and doesn’t dry out like leaner cuts. Just toss the raw mix with breadcrumbs, egg, and minced garlic, then roll. No fancy shaping, no stress.
  • Umami Bomb: That crispy breadcrumb crust meets tender beef inside? It’s the kind of bite that makes you pause mid-slurp. The onion and garlic simmer into the broth, so every spoonful feels like a hug.
  • Leftover Hero: This soup actually improves the next day. The beef balls hold up, the broth deepens, and I often reheat it straight from the fridge for lunch—no one complains, not even my picky teenager.
  • Budget Win: Ground beef, eggs, and breadcrumbs? Check. Pantry staples. I’ve fed four people for under $10, and the leftovers stretch for days. Honestly, it’s my go-to when I need to stretch groceries without sacrificing flavor.

Step-by-step instructions for beef balls in tomato broth

Here's how to make hearty, flavorful meatballs that melt in your soup.

1

Prepare the Meatball Mixture

In a large bowl, combine the 1.5 lb ground beef (80/20) with the 0.5 cup breadcrumbs (plain) and 1 whole large egg. The breadcrumbs help bind the meatballs while keeping them tender. Use your hands to mix gently until everything comes together—don't overwork it or the meatballs will turn tough.

Add the 1 whole small yellow onion (finely chopped) and 4 cloves garlic (freshly minced) to the bowl. The onion and garlic will infuse the meatballs with deep, aromatic flavor. Sprinkle in the 1.5 tsp salt, 1 tsp ground black pepper, 1 tsp dried oregano, and 1 tbsp dried parsley. Mix everything thoroughly until the ingredients are evenly distributed and the mixture holds together when pressed.

2

Form and Brown the Meatballs

Heat 0.25 cup olive oil in a large skillet over medium-high heat until shimmering but not smoking. Working in batches to avoid crowding, roll the meat mixture into 1.5-inch meatballs—about the size of a golf ball. I like to use a scoop and roll them between my palms for even shaping.

Carefully place the meatballs in the skillet, leaving space between them. Let them brown undisturbed for 3-4 minutes until they develop a golden crust. You'll know they're ready to flip when they release easily from the pan. Flip and brown the other side for another 3-4 minutes. Remove the meatballs and set them aside on a plate, keeping them warm.

3

Build the Rich Tomato Broth

In the same skillet, reduce the heat to medium and add 0.5 cup red wine. Let it simmer for 2 minutes, scraping up any browned bits from the bottom of the pan—this adds deep, savory flavor to the broth. Pour in the 14.5 oz canned crushed tomatoes and stir to combine.

Add the 4 cups beef stock, 2 whole bay leaves, and bring the mixture to a gentle simmer. Let it cook uncovered for 10 minutes to allow the flavors to meld. The broth should be rich and slightly reduced, with a deep red color and aromatic steam rising from the pot.

4

Simmer the Meatballs in Broth

Return the browned meatballs to the skillet with the broth. Stir gently to submerge them, then reduce the heat to low. Cover the skillet and let the meatballs simmer for 20-25 minutes, stirring occasionally. This slow cooking ensures the meatballs stay tender while absorbing the rich tomato and wine flavors.

Check the meatballs after 20 minutes—they should be fully cooked through and tender when pierced with a fork. If the broth seems too thick, add a splash of water or stock to reach your desired consistency. Taste and adjust seasoning with additional salt or pepper if needed.

5

Finish and Serve

Remove the 2 whole bay leaves from the broth. Stir in the 0.25 cup fresh basil (chopped) just before serving to brighten the flavors with a fresh, herbal note. Ladle the soup into bowls, making sure each serving has 2-3 meatballs swimming in the rich tomato broth.

Garnish each bowl with additional fresh basil and serve immediately while hot. The meatballs should be juicy and flavorful, and the broth should be thick yet silky, with layers of tomato, wine, and herb notes. Pair with crusty bread to soak up every last drop of that delicious broth!

👨‍🍳

Pro Tips For Making Beef Ball Soup

  • CHILL THE MEAT: I learned this the hard way—warm ground beef sticks together like glue when mixed with breadcrumbs. Pop it in the fridge for 15 minutes before forming balls, and they’ll hold shape and cook evenly. No more crumbling disasters in the pot.
  • TOAST THOSE CRUMBS: Plain breadcrumbs taste bland unless you give them a quick dry-toast in a skillet over medium heat for 2-3 minutes. The nutty aroma cuts through the richness of the beef, and they’ll stay crisp longer in the broth. (Yes, even if you’re impatient like me.)
  • DON’T OVERMIX THE DOUGH: Once you add the egg to the beef-breadcrumb mix, stop stirring after 2-3 turns. Overworking it makes the balls dense and chewy—like eating a meaty brick. Keep it loose, and they’ll stay tender even after simmering.
  • SAUTÉ THE AROMATICS FIRST: Brown the finely diced onion and minced garlic in oil until soft and golden (about 5 minutes) before adding broth. This builds flavor depth that plain simmering can’t match. (Your future self will notice the difference.)

Pro cooking tips for beef ball soup

Meatball Texture Secrets

For perfectly tender meatballs, chill the mixture for 15 minutes before shaping. This prevents them from shrinking while cooking. I also recommend using 80/20 ground beef—the fat keeps them juicy. Avoid overmixing the dough or they'll turn dense. 🥩

Broth Flavor Layers

Deglaze the pan with red wine after browning the meatballs to capture all those savory bits. Let the tomatoes simmer uncovered for 10 minutes to develop depth. For extra richness, add 1 tbsp tomato paste with the crushed tomatoes. The wine adds acidity that brightens the dish.

Simmering Perfection

Simmer the meatballs on low heat for 20-25 minutes—any hotter and they'll toughen. Stir gently once to prevent breaking. If the broth reduces too quickly, add ¼ cup water to maintain consistency. The slow cook ensures even flavor absorption without overcooking.

Equipment Shortcuts

Use a meatball maker**> (like the OXO Good Grips model) for uniform shapes. No tool? Roll balls between your palms with wet hands to prevent sticking. A fine-mesh strainer helps drain excess liquid from breadcrumbs. I also keep a microplane handy for quick garlic mincing.

Flavor Boosters

Add ½ tsp red pepper flakes with the tomatoes for subtle heat. A splash of balsamic vinegar (1 tbsp) at the end enhances umami. For depth, toast 1 tsp fennel seeds in the pan before adding wine. Fresh basil at the end brightens the dish beautifully. 🌿

Make-Ahead Magic

Prep meatballs ahead and refrigerate for 24 hours before cooking—they'll hold their shape better. Freeze shaped meatballs on a tray, then transfer to a bag for easy storage. The broth freezes well too—just reheat gently on the stovetop. Leftovers taste even better the next day as flavors meld. 💡

Nutrition facts

Servings 4
Amount Per Serving
Calories 580kcal
% Daily Value *
Total Fat 38g49%
Saturated Fat 16g80%
Cholesterol 185mg62%
Sodium 1250mg54%
Total Carbohydrate 22g8%
Dietary Fiber 3g11%
Sugars 12g
Protein 42g84%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why do your meatballs stay tender while others get tough?

Chilling the meat mixture for 15 minutes before shaping prevents shrinkage, and using 80/20 ground beef (not lean) keeps them juicy. The key is gentle mixing—overworking makes them dense. Simmering on low heat for 20-25 minutes (not boiling) preserves tenderness while absorbing broth flavors.

2

Can I make this soup ahead of time?

Prep meatballs 24 hours ahead and refrigerate—they hold shape better. The broth freezes beautifully for 3 months (reheat gently). Leftovers actually improve as flavors meld. For parties, cook meatballs and broth separately, then combine when reheating to avoid sogginess.

3

What if I don't have red wine?

No problem! Substitute with ½ cup beef stock + 1 tbsp balsamic vinegar for the same tangy depth. The vinegar mimics wine's acidity, while extra stock maintains richness. For extra umami, add 1 tsp soy sauce with the tomatoes. The dish will still be delicious—just slightly less complex.

4

How do I fix meatballs that fall apart?

Overmixing or using lean meat are common culprits. For next time, chill the mixture longer, use 80/20 beef, and avoid overworking. If it happens, try this fix: Form the broken pieces into patties, pan-fry until crispy, then serve on top of the soup as "meatball croutons." The crispy edges add great texture!

5

Can I use ground turkey instead of beef?

Yes, but adjust the fat ratio—use 93/7 ground turkey (not lean) and add 1 tbsp olive oil to the mixture. The texture will be slightly lighter, but the flavor works well. For extra moisture, simmer the turkey meatballs 5 minutes less than beef. The broth flavors will still shine through beautifully.

★★★★★4.5(3 reviews)
Categories Soups & Stews