Ball Soup Recipe: Meatballs That Melt in Savory Broth

Soups & Stews

Ball Soup Recipe: Meatballs That Melt in Savory Broth

This ball soup recipe transforms simple ingredients into a hearty, comforting meal that brings warmth to any table. The secret lies in tender meatballs or croquettes that melt effortlessly into a rich, savory broth—perfect for chilly evenings or family gatherings.

I developed this version after perfecting the balance between traditional techniques and modern convenience, ensuring every spoonful delivers both nostalgia and satisfaction.

What sets this recipe apart is the foolproof method for creating meatballs that stay juicy and flavorful, even after simmering for hours.

The broth, infused with aromatic vegetables and herbs, builds depth as it reduces, while the optional garnishes—like fresh parsley or a drizzle of olive oil—elevate the dish without overpowering its natural richness.

It’s the kind of soup that feels like a hug in a bowl, yet remains simple enough for weeknight dinners.

The result is a restaurant-quality dish that’s surprisingly easy to recreate at home. The meatballs soften just enough to blend into the broth, creating a velvety texture that coats every bite, while the vegetables retain their bite for contrast.

This recipe scales beautifully, whether you’re feeding a crowd or prepping leftovers for the week—proof that comfort food doesn’t have to be complicated.

For added versatility, you can customize the broth with spices like smoked paprika or a splash of wine, or swap meatballs for vegetarian croquettes. The possibilities are endless, but the foundation remains the same: a savory, satisfying soup that’s as nourishing as it is delicious. Let’s get started.

👨‍🍳
Difficulty
Hard
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for ball soup

Sixteen ingredients transform into a velvety, restaurant-quality ball soup with tender meatballs and aromatic broth.

Ingredient Amount Notes
Ground Beef 🥩 1 ½ lb 80/20 fat ratio preferred
All-Purpose Flour 🌾 ½ cup For meatball binding
Large Eggs 🥚 2 whole Room temperature for even binding
Parmesan Cheese 🧀 ½ cup Freshly grated from block
Garlic Cloves 🧄 4 cloves Minced for depth of flavor
Fresh Parsley 🌿 ¼ cup Chopped, for freshness
Carrots 🥕 3 medium Peeled and chopped
Yellow Onion 🧅 1 whole Diced for aromatic base
Celery Stalks 🥬 3 whole Diced for classic mirepoix
Tomato Paste 🍅 2 tbsp For rich umami depth
Chicken Broth 💧 6 cups Low-sodium preferred
Dry White Wine 🍷 ½ cup Optional for brightness
Bay Leaves 🌿 2 whole For subtle herbal notes
Olive Oil 🫒 2 tbsp Extra-virgin for richness
Salt 🧂 1 ½ tsp Diamond Crystal preferred
Black Pepper 🌶️ 1 tsp Freshly ground for heat

The ground beef is the foundation—80/20 fat ratio ensures juicy meatballs that won't dry out during simmering. Kroger or Whole Foods carry premium ground beef in the meat department, but any quality brand works if it's fresh. For the Parmesan, grate it yourself—pre-grated contains anti-caking agents that ruin the texture. The mirepoix (onion, celery, carrots) should be finely diced for even cooking, and freshly peeled carrots add natural sweetness that caramelizes beautifully in the broth. Bay leaves might seem simple, but high-quality dried leaves from Penzeys elevate the dish subtly.

No white wine? Extra chicken broth with a splash of lemon juice mimics the acidity. Substituting beef for the meatballs? Use 80% ground beef and 20% pork for extra tenderness. Fresh parsley is ideal, but dried works at one-third the amount if needed. The tomato paste can be swapped for crushed tomatoes (½ cup), though it adds more liquid. For a vegetarian version, replace meatballs with chickpea croquettes—blend chickpeas, breadcrumbs, and spices, then pan-fry until crispy. The celery should be stringless for cleaner flavor, so trim carefully if using fresh stalks.

Meatballs keep 3 days in the fridge, but the broth improves overnight—always make extra. Freeze portions in airtight containers for up to 3 months. To reheat, simmer gently on the stove—microwaving breaks down the meatball texture. The broth can be reduced further for a thicker consistency, or strain and use as a sauce for pasta. Store fresh herbs in damp paper towels in a sealed container for 5-7 days to preserve their vibrant flavor.

❤️

Why You'll Love This Recipe

  • No-Fuss Assembly: I swear by this recipe because you’re basically making meatballs while someone else cooks the soup—same pot, same love. Brown the ground beef, mix in flour and egg right in the skillet, then fold in Parmesan and garlic. No rolling, no stress, just hands-off flavor.
  • Umami Bomb: That crispy exterior from the flour coating? Chef’s kiss. The garlic and Parmesan melt into the beef, giving you this deep, savory punch that’s weirdly addictive. Honestly, I’ve made it for friends who aren’t even meat lovers, and they still ask for seconds.
  • Lunchbox Hero: Between us, this is my secret weapon for meal prep. Make a double batch—freeze half the meatballs in the broth, reheat, and boom: instant hearty soup for a busy week. My kid brings it to school in a thermos, and honestly? The other parents are jealous.
  • Pantry Staple Magic: You’re using stuff you already have—ground beef, flour, eggs, garlic—so it’s cheap but feels fancy. And leftovers? They’re even better the next day, especially if you add a splash of broth or a sprinkle of extra cheese. Not the prettiest, but the taste makes up for it every time.

Step-by-step instructions for meatballs that melt in savory broth

Here's the precise method for creating tender, flavorful meatballs that dissolve into rich broth.

1

Prepare the Meatball Mixture

In a large mixing bowl, combine the 1.5 lb ground beef, 0.5 cup all-purpose flour, 2 whole large eggs, 0.5 cup freshly grated Parmesan cheese, 1.5 tsp salt, and 1 tsp freshly ground black pepper. Use your hands to gently mix until just combined—overworking develops gluten and makes meatballs tough. The mixture should hold together when pressed but remain loose.

In a separate small bowl, finely mince the 4 cloves garlic and chop the 0.25 cup fresh parsley. Fold these into the meat mixture along with 2 tbsp tomato paste, ensuring even distribution. This step builds the flavor foundation while keeping the texture tender. Cover the bowl and refrigerate for 30 minutes to allow the flour to fully hydrate and the mixture to firm up slightly.

2

Form and Brown the Meatballs

Heat 2 tbsp olive oil in a large skillet over medium-high heat until shimmering. Working in batches to avoid crowding, roll the chilled meat mixture into 1.5-inch diameter meatballs—uniform size ensures even cooking. Gently place them in the skillet and brown for 2-3 minutes per side until they develop a deep golden crust.

Here's the thing—don't press them down or they'll flatten. You'll know they're ready when they release easily from the pan and develop a rich caramelized exterior. Transfer the browned meatballs to a plate and set aside. The residual heat will continue cooking them slightly while you prepare the broth base.

3

Build the Flavorful Broth Base

In the same skillet, reduce heat to medium and add the diced 1 whole yellow onion, 3 medium carrots, and 3 whole celery stalks (classic mirepoix). Cook for 5-6 minutes until the vegetables soften and begin to caramelize. Add the 2 tbsp tomato paste and stir for 1 minute to deepen the umami flavor.

Deglaze the pan with the 0.5 cup dry white wine, scraping up any browned bits from the bottom—this captures all the concentrated meatball flavor. Let it simmer for 2 minutes until the wine reduces by half. Pour in the 6 cups chicken broth and add the 2 whole bay leaves, bringing the mixture to a gentle simmer.

4

Simmer Meatballs to Perfection

Return the browned meatballs to the simmering broth and reduce heat to low. Partially cover the skillet and let the meatballs cook for 45-50 minutes, stirring occasionally. The low heat ensures they cook through without toughening, while the broth infuses with their rich flavors.

For the ultimate test, remove a meatball after 45 minutes—it should be tender enough to pierce with a fork but still hold its shape. If it crumbles too easily, continue cooking for another 5 minutes. The broth should reduce slightly, becoming thick and velvety, with the meatballs just melting in your mouth.

5

Finish and Serve

Remove the meatballs from the broth and set aside. Strain the broth through a fine-mesh sieve to remove the vegetables and bay leaves, pressing gently on the solids to extract maximum flavor. Return the strained broth to the skillet and simmer for 3-4 minutes to reduce slightly and intensify the flavor.

Taste and adjust seasoning with additional salt or black pepper if needed. Serve the meatballs in warm bowls, ladling the rich broth generously over each portion. Garnish with additional chopped parsley for freshness. Each bite should deliver perfectly balanced flavors—tender meatballs dissolving into a savory, aromatic broth that coats every spoonful.

👨‍🍳

Pro Tips For Making Ball Soup

  • CHILL THE MEAT MIX: After mixing ground beef, flour, egg, and Parmesan, pop the dough in the fridge for 15–20 minutes before forming balls. I learned this the hard way—skipping it makes the mixture sticky, and your balls either flatten into sad pancakes or fall apart when cooking. Cold hands + cold dough = perfect shape every time.
  • GRATE THAT CHEESE FINE: Use a microplane or food processor for the Parmesan—no chunky bits allowed. I was skeptical until I tried it: the cheese blends smoothly into the meat mix, giving each ball a consistent, rich flavor instead of random salty surprises. (Yes, even if you’re impatient like me.)
  • COOK LOW AND SLOW: Simmer the meatballs in broth at a gentle bubble, not a rolling boil. After burning three batches, I finally figured out that high heat = tough exteriors and uneven cooking. Keep the heat at a steady simmer—your future self will thank you.
  • ADD GARLIC LAST: Sauté minced garlic in olive oil for 30 seconds before adding it to the soup—just enough to perfume the oil without burning. I skip this when I’m lazy, but the dish is noticeably better when I don’t: the garlic’s sweetness shines through instead of turning bitter. (Your nose knows.)

Common mistakes when making perfect results

Overworking Meatball Mixture

I’ve seen so many cooks ruin perfect meatballs by overmixing the ingredients. When you combine the ground beef, flour, egg, and Parmesan, stop as soon as everything is just combined—no more than 10-12 gentle folds.

Overworking develops gluten, which makes the meatballs tough and dense instead of tender. Think of it like kneading dough for biscuits: you want to bring everything together without overdoing it. 💪

Skipping the Chill Time

One of the biggest mistakes is skipping the 30-minute chill in the fridge. This step lets the flour hydrate and the mixture firm up slightly, which prevents the meatballs from falling apart when you brown them.

If you rush this, the meatballs will crumble in the pan or broth. Trust me, it’s worth the wait—your patience will pay off with juicy, intact meatballs. ⏰

Crowding the Pan

Never, ever crowd the pan when browning your meatballs. If you pile them on top of each other, they’ll steam instead of brown, and you’ll end up with soggy, unevenly cooked meatballs.

Work in batches of 4-6 meatballs per pan, giving them space to develop that beautiful golden crust. A little patience here makes all the difference in the final texture. 🔥

Boiling the Meatballs

Here’s a rookie mistake: boiling the meatballs in the broth. Simmering at a gentle low heat is key—boiling will cook them too quickly on the outside while leaving the inside undercooked or rubbery.

Keep the heat at a level where you just see the occasional bubble, and stir occasionally to prevent sticking. The goal is tender, melt-in-your-mouth meatballs, not tough ones. 🌡️

Ignoring the Broth Reduction

Some cooks forget to let the broth reduce slightly after simmering. A thick, velvety broth is what elevates this soup from ordinary to extraordinary. After removing the meatballs, strain the broth and simmer it uncovered for 3-4 minutes to concentrate the flavors.

This step transforms a good soup into a rich, restaurant-quality dish. Don’t skip it—your taste buds will thank you. ✨

Over-Salting the Broth

It’s easy to overdo it with salt, especially if you’re adjusting seasoning at the end. Taste the broth before adding the meatballs, and then taste again after they’ve simmered. The meatballs will release their own saltiness into the broth, so you might not need as much as you think.

Start with 1.5 tsp salt and adjust gradually—you can always add more, but you can’t take it out. 🧂

Nutrition facts

Servings 6
Amount Per Serving
Calories 480kcal
% Daily Value *
Total Fat 28g36%
Saturated Fat 12g60%
Cholesterol 140mg47%
Sodium 850mg37%
Total Carbohydrate 22g8%
Dietary Fiber 4g14%
Sugars 6g
Protein 38g76%
* 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

Can I make this ball soup vegetarian?

Replace the meatballs with chickpea croquettes—blend 1 can drained chickpeas, ½ cup breadcrumbs, 1 tbsp olive oil, 1 tsp garlic powder, and ½ tsp smoked paprika. Shape into balls, pan-fry until crispy, then simmer in the broth for 10-12 minutes. The broth remains the same, so all the savory depth stays intact!

2

How do I prevent meatballs from falling apart in the broth?

Follow these key steps: chill the mixture for 30 minutes (this firms up the proteins), use cold hands when forming balls, and brown them thoroughly before adding to the broth. The flour acts as a binder, but it needs time to hydrate. If they still crumble, add 1 tbsp extra flour to the mixture next time.

3

Can I make this soup ahead of time?

Yes! The broth actually tastes better the next day as flavors meld. Cook the meatballs and broth separately, then refrigerate for up to 3 days or freeze for 3 months. Reheat gently on the stove—never microwave, as it makes meatballs rubbery. The broth can be reduced further if you prefer it thicker.

4

What's the best way to reheat leftovers?

Transfer the soup to a pot and heat over low-medium heat until bubbling, then simmer for 5-7 minutes. Stir occasionally to prevent sticking. For extra richness, add 1 tbsp olive oil or a splash of chicken broth while reheating. Avoid high heat—it can make meatballs dry out.

5

How can I make the broth more flavorful?

Try these upgrades: Add 1 crushed tomato with the mirepoix, stir in 1 tsp fish sauce (for umami depth), or simmer with ½ cup mushrooms. For a smoky twist, add ½ tsp smoked paprika or a bay leaf with a pinch of cinnamon. The longer you simmer (up to 2 hours on low), the more complex the flavors become.

★★★★★4.8(12 reviews)
Categories Soups & Stews