Soups & Stews
This beef ball soup recipe delivers restaurant-quality comfort in one bowl—herb-infused velouté cradling perfectly seasoned meatballs and crispy celery crowns that add satisfying texture. The secret lies in baking the meatballs first for concentrated flavor, then simmering them in a rich, aromatic broth until tender.
Every spoonful balances hearty beef with delicate vegetables, creating a soup that feels both indulgent and balanced.
The velouté base starts with a classic roux foundation, enriched with white wine and vegetable stock for depth. Fresh herbs like thyme and parsley infuse the broth naturally, while the crispy celery crowns—baked until golden and crunchy—bring a delightful contrast to each bite.
This method ensures the meatballs stay juicy while developing a flavorful crust, and the celery adds a fresh, bright element that cuts through the richness.
What makes this recipe stand out is the crispy celery crowns, which transform ordinary celery stalks into edible garnishes that pack serious flavor. The meatballs, made with ground beef, breadcrumbs, and egg, hold together beautifully while absorbing the soup's rich seasoning.
The result is a soup that's hearty enough for a cold evening but light enough to enjoy any time of year.
Serve with a sprinkle of fresh parsley and a drizzle of high-quality olive oil for extra brightness. The combination of tender meatballs, velvety broth, and crispy celery creates a harmonious balance that keeps everyone coming back for more.
Ready in about 1 hour, this soup is perfect for feeding a crowd or meal prepping for the week.
Ingredients for beef ball soup
Sixteen ingredients transform into a velouté masterpiece with crispy celery crowns and herb-infused meatballs.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 ½ lb | 80% lean, finely ground for texture |
| All-Purpose Flour 🌾 | ½ cup | For breadcrumb mixture, unsifted |
| Large Eggs 🥚 | 2 whole | Room temperature for even binding |
| Fresh Parsley 🌿 | ¼ cup | Finely chopped, stems included |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, finely chopped |
| Garlic Cloves 🧄 | 4 cloves | Peeled and minced for depth |
| Vegetable Stock 💧 | 6 cups | Low-sodium, homemade preferred |
| Dry White Wine 🍷 | ½ cup | Bold variety like Sauvignon Blanc |
| Unsalted Butter 🧈 | 4 tbsp | Cold, cut into small cubes |
| All-Purpose Flour 🌾 | ¼ cup | For velouté roux, unsifted |
| Celery Stalks 🧅 | 6 whole | Large, organic preferred for crowns |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | High-quality, for celery crowns |
| Diamond Crystal Kosher Salt 🧂 | 1 ½ tsp | Adjust to taste, fine grain |
| Freshly Ground Black Pepper 🌶️ | 1 tsp | Freshly cracked for brightness |
| Fresh Lemon Juice 🍋 | 1 tbsp | Brightens the velouté finish |
The ground beef quality sets the foundation—80% lean from a trusted butcher ensures rich flavor without grease. Fresh herbs like thyme and parsley are non-negotiable; Penzeys or local farmers markets offer the best quality. For the celery crowns, organic stalks with tight buds create the most satisfying crunch. The white wine should be bold enough to stand up to the beef, so Sauvignon Blanc or Pinot Grigio work best. Pre-grated cheese or pre-minced garlic? Skip it—freshly grated and minced make all the difference in this dish.
No fresh thyme? Dried works at one-third the amount, but the flavor won't be as bright. Substituting wine? Dry vermouth or extra vegetable stock maintains balance. For the celery crowns, if you can't find large stalks, cut smaller ones lengthwise to create flat surfaces for crisping. The velouté roux requires patience—cook it until it's a deep golden color for that perfect velvety texture. And if you're short on parsley, cilantro or basil can step in, though the flavor profile shifts slightly.
Fresh herbs keep best in the fridge wrapped in damp paper towels for 5-7 days. The ground beef should be used within 2 days for optimal texture. Celery crowns crisp up beautifully when baked and can be stored in an airtight container for 3 days—reheat in the oven at 375°F for 5 minutes to restore crispness. The completed soup reheats well, though the celery crowns are best served fresh. For meal prep, store components separately and assemble when ready to eat.
Why You'll Love This Recipe
- Fewer Ingredients, Big Payoff: I swear by this recipe because it’s that simple—just flour, eggs, beef, and herbs. No fancy binders or weird ratios; the dough comes together in minutes, and the thyme-parsley combo gives it a bright, herby punch without overpowering.
- Rich but Light: The beef balls have this magical texture—tender inside, lightly seared outside—thanks to the egg binding and flour coating. They float in broth like little flavor bombs, soaking up every bit of seasoning while staying light enough to eat by the bowlful.
- Weeknight to Potluck Hero: Between us, this is my go-to for busy nights and when I need to bring something impressive. Double the batch, freeze half, and you’ve got a meal ready for whenever—whether it’s a last-minute dinner or a crowd-pleasing dish for a holiday spread.
- Budget Meal That Feeds: Ground beef stretches far, and the ingredients won’t break the bank. I’ve made this for four people for under $15, and it’s the kind of soup that tastes even better the next day—perfect for prepping ahead or stretching leftovers into a new meal.
Step-by-step instructions for herb-infused beef ball soup
Transform simple ingredients into a restaurant-worthy beef ball soup with velvety velouté and delicate celery crowns.
Prepare the Beef Ball Mixture
In a large mixing bowl, combine the 1.5 lb ground beef, 0.5 cup all-purpose flour, 2 whole large eggs, 0.25 cup finely chopped fresh parsley, 1 tbsp finely chopped fresh thyme, 4 minced garlic cloves, 1.5 tsp kosher salt, and 1 tsp freshly ground black pepper. The mixture should feel moist but not sticky—if it's too dry, add 1-2 teaspoons of ice water to help bind it.
Using your hands, gently mix all ingredients until just combined. Avoid overworking the mixture, which can make the beef balls dense. Form the mixture into 1.5-inch diameter balls (you should get about 12-14 balls) and place them on a parchment-lined plate. Refrigerate for 30 minutes to firm up slightly before cooking.
Cook the Beef Balls in Wine and Stock
In a large Dutch oven, heat 2 tbsp extra-virgin olive oil over medium-high heat. Working in batches, brown the beef balls on all sides until they develop a deep golden crust—about 2-3 minutes per side. Transfer the browned balls to a plate and set aside.
Reduce heat to medium, then add 0.5 cup dry white wine to the pot, scraping up any browned bits from the bottom. Let it simmer for 2-3 minutes until reduced by half. Pour in 6 cups vegetable stock and bring to a gentle simmer. Return the beef balls to the pot, cover, and simmer for 15-20 minutes until they're cooked through and the liquid has slightly reduced.
Prepare the Velouté Sauce
While the beef balls cook, melt 4 tbsp cold unsalted butter in a separate saucepan over medium heat. Add 0.25 cup all-purpose flour and whisk continuously for 1-2 minutes until you have a smooth, pale roux. Gradually whisk in 2 cups of the reserved beef ball cooking liquid until fully incorporated and the mixture thickens slightly.
Return this velouté mixture to the Dutch oven with the beef balls. Stir gently to combine, then increase heat to medium-low and let it simmer for 10 minutes to meld flavors. Finish with 1 tbsp fresh lemon juice and adjust seasoning with additional kosher salt and black pepper if needed.
Create Crispy Celery Crowns
While the soup simmers, prepare the celery crowns by cutting off the leafy tops from 6 whole celery stalks (about 1 cup total). Heat 2 tbsp extra-virgin olive oil in a skillet over medium-high heat. Add the celery crowns in a single layer and cook, stirring occasionally, for 3-4 minutes until they turn a deep golden brown and crisp up.
Remove the celery crowns and set aside. In the same skillet, reduce heat to medium and add 1 tbsp finely chopped fresh parsley and 1 tbsp finely chopped fresh thyme. Cook for 30 seconds until fragrant, then pour this herb mixture into the soup to infuse additional flavor.
Finish and Serve
Taste the soup and make any final adjustments to seasoning. The velouté should coat the back of a spoon with a silky texture, and the beef balls should be tender with a firm center. Ladle the soup into bowls, garnishing each serving with 2-3 crispy celery crowns and an additional sprinkle of fresh parsley. Serve immediately while the celery crowns are still crisp and the soup is steaming hot.
For the perfect bowl, each bite should deliver a harmonious balance of rich, herbed beef balls in a velvety velouté, contrasted by the delicate crunch of celery crowns. The lemon juice brightens the dish, cutting through the richness while enhancing the herbal notes.
Pro Tips For Making Beef Ball Soup
- Chill the Dough First: After mixing ground beef, flour, egg, and herbs, pop the mixture into the fridge for 15 minutes before shaping. I used to skip this and ended up with greasy, uneven balls—now they hold together like they’re meant to, and the texture’s way more consistent. Works especially well if your kitchen’s warm.
- Use Cold Hands: Wet your hands before handling the meat mixture—it sticks less and makes shaping easier. I tried using warm hands once and spent 10 minutes scrubbing flour off my fingers. Cold water or a quick rinse under the tap keeps things clean and saves frustration.
- Simmer Gently After Boiling: Once the beef balls hit the broth, let the water return to a gentle simmer—not a rolling boil. I learned this after seeing balls split open mid-cook; low heat keeps them intact and lets flavors meld without rushing. A slow bubble is all you need.
- Toast the Herbs First: Pulse fresh parsley and thyme in a spice grinder (or finely chop) and dry-toast them in a pan for 30 seconds before mixing into the meat. The aroma jumps off the plate, and it prevents the herbs from turning mushy when the balls cook. (Yes, even if you’re impatient like me.)
Troubleshooting perfect results
Meatballs Too Dense
If your beef balls turn out dry or rubbery, you likely overworked the mixture or didn’t rest them properly. Handle the meatball mixture gently—just combine ingredients until just combined—and avoid pressing too hard when forming them.
Always refrigerate for 30 minutes before cooking to firm them up. For extra juiciness, add 1-2 teaspoons of ice water if the mixture feels too dry. 💡
Broth Too Thin
A watery soup often means the stock wasn’t reduced enough or the roux wasn’t cooked long enough. Simmer the broth uncovered for 5-10 extra minutes to thicken it naturally. For the velouté, whisk the roux until it reaches a deep golden color (not pale) before adding liquid.
If needed, mix 1 teaspoon of cornstarch with 1 tablespoon cold water and stir it in at the end to thicken. ✨
Celery Crowns Not Crispy
Celery crowns lose crispness if they’re overcrowded in the pan or cooked at too low heat. Use medium-high heat and cook in a single layer, stirring occasionally. For extra crunch, bake them at 400°F for 5-7 minutes instead of pan-frying.
If they soften, try adding 1 teaspoon of baking powder to the oil before cooking—it helps create a crispier texture. 🌟
Meatballs Falling Apart
If your meatballs disintegrate, the binding ingredients (egg and flour) may not have worked properly. Ensure your eggs are room temperature and use breadcrumbs (not flour alone) for better structure.
Chill the meatballs for 30 minutes before cooking to help them hold together. For extra stability, add 1 tablespoon of grated Parmesan cheese to the mixture. 💪
Velouté Too Heavy
A thick, gluey velouté usually means the roux was overcooked or too much flour was added. Cook the roux over medium heat until it’s pale golden (about 1-2 minutes), not brown.
For a lighter texture, whisk in the stock gradually while stirring constantly. If it’s too thick, thin it with 2-3 tablespoons of warm stock or a splash of white wine. 🔥
Broth Too Salty
If your soup tastes overly salty, it’s likely from the stock or seasoning. Use low-sodium vegetable stock and taste as you go. To fix oversalted broth, stir in 1-2 tablespoons of cold water or a potato wedge (simmer for 10 minutes, then remove).
For the velouté, add a pinch of sugar or a splash of lemon juice to balance the saltiness. 💛
Nutrition facts
Frequently asked questions
Can I make this beef ball soup vegetarian?
Replace the ground beef with 1.5 lb of finely chopped mushrooms or lentils for a meat-free version. Use 1 tbsp soy sauce or miso paste to add umami depth, and consider adding 1 cup cooked quinoa for heartiness. The celery crowns and velouté will still shine as the star elements.
How do I store leftovers?
Store the soup (without celery crowns) in an airtight container in the fridge for 4-5 days. Reheat gently on the stove over low heat until steaming. For the celery crowns, store them separately in a sealed container and reheat in a 375°F oven for 5 minutes to restore crispness. Freeze the soup for up to 3 months, though the celery crowns won't reheat well.
Can I use store-bought meatballs?
While homemade meatballs are ideal, you can use store-bought ones in a pinch! Opt for high-quality, fresh meatballs and brown them first in the pot to develop flavor. Add them to the simmering broth 10 minutes before serving to prevent them from becoming mushy. For best texture, choose meatballs with minimal fillers.
What’s the secret to extra-flavorful broth?
The velouté’s depth comes from three key elements: browning the meatballs first (for caramelized flavor), reducing the wine (to concentrate its aroma), and adding fresh herbs at the end. For extra richness, toast 1 tsp whole peppercorns with the garlic or add 1 bay leaf to the simmering broth. Remove the bay leaf before serving.
Is this soup kid-friendly?
Yes, but with a few tweaks! Skip the wine and use extra chicken or vegetable stock instead. Cut the celery crowns into smaller pieces and serve them on the side for picky eaters. The mild, herby flavor and tender meatballs make this a great introduction to hearty soups. For extra appeal, let kids help assemble their bowls with toppings like grated Parmesan.
