Soups & Stews
This abondigas soup recipe brings comfort and tradition to your kitchen with spiced meatballs simmered in rich tomato-basil broth—just like my Nonna used to make. The secret lies in the meatballs' perfect balance of ground meat, herbs, and spices, which transform into tender, flavorful bites that melt into the broth.
I’ve tested this recipe countless times, adjusting the seasoning until it’s foolproof for weeknight dinners or special gatherings.
The beauty of this soup is in its simplicity—just a handful of ingredients that work together to create something deeply satisfying.
The meatballs are formed with ground beef, breadcrumbs, and aromatic spices like garlic and oregano, while the broth simmers with tomatoes, onions, and fresh basil for a bright, herbaceous flavor. It’s the kind of dish that tastes even better the next day, as the flavors meld and deepen.
By the time you serve it, you’ll have a steaming bowl of abondigas soup with tender meatballs floating in a velvety broth, garnished with fresh basil and a sprinkle of parmesan.
The aroma alone will have everyone at the table asking for seconds. This recipe delivers restaurant-quality results without the fuss, making it perfect for busy nights or cozy weekends.
Whether you’re serving it as a main dish or pairing it with crusty bread, this soup is versatile enough for any occasion. Let’s get started—your kitchen will thank you for bringing this classic to life.
Ingredients for abondigas soup
Just 14 ingredients transform into Nonna's comforting meatball soup with tender bites in rich tomato-basil broth.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | 1 ½ lb | 80% lean for best texture |
| Yellow Onion 🧅 | 1 whole | Medium-sized, finely chopped |
| Garlic Cloves 🧄 | 4 cloves | Fresh, minced for meatballs |
| Fresh Basil Leaves 🌿 | ½ cup | Packed, stems removed |
| Dried Oregano 🍃 | 1 tbsp | Italian variety preferred |
| Breadcrumbs 🍞 | ½ cup | Plain, fine texture |
| Large Egg 🥚 | 1 whole | Room temperature |
| Canned Crushed Tomatoes 🍅 | 2 cups | San Marzano preferred |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Extra-Virgin Olive Oil 🫒 | ¼ cup | For sautéing onions |
| Parmesan Cheese 🧀 | ¼ cup | Freshly grated from block |
| Sea Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The ground beef is everything here—80% lean gives you that perfect balance of tenderness and flavor. Costco or Trader Joe's usually have the best prices for bulk packs, but any grocery store's pre-ground works. Look for vibrant color (not grayish) and avoid anything with ice crystals. For the onions, yellow is classic, but red adds a subtle sweetness if you prefer. The basil? Fresh is non-negotiable—dried won't give you that same bright flavor. I always grab extra because half gets torn over the meatballs and half goes into the broth.
No San Marzano tomatoes? Any high-quality canned tomatoes work—just drain them well. Short on breadcrumbs? Panko plus a pinch of salt mimics the texture perfectly. The vegetable broth can be swapped for chicken broth if you're not vegetarian, but the umami from veggie is surprisingly good. For the egg, room temperature makes the meatballs hold together better. No fresh basil? Dried oregano at half the amount plus a splash of pasta water can mimic it, but you'll miss that freshness. The parsley is just for garnish—skip it if you're in a rush, but trust me, it makes the dish look restaurant-worthy.
Meatballs keep 3 days in the fridge before cooking—they actually taste better after a day or two. The cooked soup reheats beautifully, so double the batch and freeze half for lazy days. I portion mine into 4-ounce containers for easy lunches. The broth reduces as it sits, so if you're making it ahead, add a splash of water when reheating. Fresh basil wilt fast, so store it in a glass of water like a bouquet—it'll last 5 days in the fridge.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because it’s all in one pot—no frying meat separately, no messy cleanup. Just brown the beef with onions and garlic, add the broth, and let it simmer while you chop basil. Honestly, the only thing I measure is the oregano, and even that’s just a pinch.
- Herb-Packed Punch: That fresh basil and dried oregano? They turn this into something special. The basil brightens the whole bowl, especially when you tear it in at the end—it’s like a little burst of summer in every spoonful. (Yes, even on a Tuesday night.)
- Leftovers That Don’t Suck: This soup actually tastes better the next day. The flavors meld, the meat gets even more tender, and it reheats in minutes. Between us, I make a double batch because it’s my go-to for lunches—just add a slice of crusty bread, and you’re set.
- Budget-Friendly Comfort: Ground beef stretches far here, and onions/garlic are cheap staples. I’ll be real: it’s not fancy, but it’s the kind of dish that makes you feel like you’re feeding a crowd without breaking the bank. Plus, the oregano? A tiny jar lasts forever.
Step-by-step instructions for abondigas soup
Here's how to craft this comforting soup with tender meatballs and aromatic broth.
Prepare the Meatball Mixture
In a large mixing bowl, combine the 1.5 lb ground beef, 1 whole yellow onion (finely chopped), 4 cloves garlic cloves (minced), 0.5 cup fresh basil leaves (packed, stems removed), 1 tbsp dried oregano, 0.5 cup breadcrumbs, 1 whole large egg, 1.5 tsp sea salt, and 0.5 tsp ground black pepper. Use your hands to gently mix everything until just combined—overworking the mixture will make the meatballs dense.
Here's the thing—don't skip the room-temperature egg. A cold egg can make your meatballs tough, so let it sit at room temperature for 10 minutes before mixing. The mixture should hold together when pressed but not be sticky. If it feels too wet, add 1-2 tablespoons more breadcrumbs to bind it properly.
Form and Brown the Meatballs
Using your hands, roll the mixture into 1-inch meatballs—about 12-14 total—keeping them compact but not overly firm. Heat 0.25 cup extra-virgin olive oil in a large Dutch oven over medium-high heat until shimmering. Working in batches to avoid crowding, add the meatballs and cook for 3-4 minutes per side until they develop a deep golden-brown crust.
This browning step is crucial—it builds deep flavor through the Maillard reaction. Don't rush it; you'll know they're ready when they release easily from the pan. Transfer the cooked meatballs to a plate and set aside, leaving any browned bits in the pot—they'll form the base of your sauce.
Build the Flavorful Broth
In the same Dutch oven, reduce heat to medium and add 2 cups canned crushed tomatoes. Stir to deglaze the pan, scraping up those flavorful browned bits that settled at the bottom. Let it simmer for 5 minutes until the tomatoes break down slightly and the mixture thickens into a rich paste. Add 4 cups vegetable broth and bring to a gentle boil.
Here's where the magic happens: Stir in 0.25 cup freshly grated parmesan cheese and 0.25 cup chopped fresh parsley. The parmesan adds umami depth while the parsley brightens the broth. Let the soup simmer uncovered for 10 minutes to allow flavors to meld—you'll notice the aroma becoming more complex and inviting.
Finish and Serve
Return the meatballs to the pot and gently stir to coat them in the flavorful broth. Reduce heat to low and let everything simmer together for 15-20 minutes, until the meatballs are fully cooked through and the soup reaches a satisfying consistency. The meatballs should be tender when pierced with a fork but not falling apart.
Taste and adjust seasoning if needed—perhaps a pinch more salt or a crack of black pepper. Ladle the soup into bowls, garnishing each serving with an extra sprinkle of fresh parsley and a dusting of parmesan cheese. Serve immediately with crusty bread to soak up every last drop of that aromatic broth.
Pro Tips For Making Abondigas Soup
- Brown the Beef Well: Don’t just cook the ground beef—sear it in batches over medium-high heat until it loses its raw color and develops a crust. I used to rush this, and the meat ended up bland and greasy; now I take the extra 5 minutes, and the flavor sticks to every spoonful.
- Pulse Onions Fine: Skip the chopping—pulse the onions in a food processor until they’re almost paste-like. This ensures they dissolve into the broth instead of sitting as chunks, giving your soup that smooth, rich base you’d pay extra for at a restaurant.
- Toast the Oregano: Dry-toast the dried oregano in a small pan for 30 seconds before adding it to the soup. It deepens the flavor and cuts through the richness of the beef—trust me, your spoon will taste the difference.
- Simmer, Don’t Boil: Once the soup is assembled, keep it at a gentle simmer (tiny bubbles, occasional skimming) rather than a rolling boil. Boiling breaks down the meatballs and scatters the basil flavor; low heat keeps everything intact and tender.
Essential equipment for this dish
Dutch Oven Essentials
Your Dutch oven is the star of this recipe—it’s where the meatballs brown beautifully and the broth develops deep flavor. I swear by a Lodge 5.5-quart pre-seasoned Dutch oven for even heat distribution and that classic cast iron flavor.
If you don’t own one, a stainless steel Dutch oven like the All-Clad works too, though it requires more attention to prevent burning. For budget-friendly options, check out Amazon Basics or Cuisinart—both offer quality Dutch ovens under $50. 🔥
Meatball Tools
For rolling perfect meatballs, I recommend a meatball maker like the OXO Good Grips—it gives you consistent size and shape every time. If you prefer hands-on rolling, use a small ice cream scoop (about 1-inch diameter) to portion the mixture before shaping.
A sharp chef’s knife (I use Mercer Culinary) is essential for mincing garlic and onions finely, while a microplane works great for zesting garlic cloves if you want extra flavor. 🧄
Mixing & Measuring
A large mixing bowl (at least 3-quart capacity) is perfect for combining ingredients without spills. I keep a stainless steel measuring cup set (like OXO’s) handy for breadcrumbs and broth. For the egg, a small ramekin prevents cracks when mixing.
A spatula (I love OXO’s silicone version) helps scrape every last bit of mixture from the bowl. Don’t skip a kitchen scale if you’re precise—it ensures your meatballs are uniform in size. ⚡
Broth & Simmering
Simmering requires a long-handled wooden spoon (like OXO’s) to stir without burning your hands. A fine-mesh strainer (I use OXO’s) helps drain excess moisture from the meatballs if needed.
For timing, a timer (or your phone) ensures the broth simmers exactly 10 minutes before adding the meatballs back in. A ladle (preferably stainless steel) makes serving easier, and a cheese grater (like Microplane) is key for freshly grating parmesan. 🧀
Garnish & Serve
Fresh herbs deserve a small pair of kitchen shears for clean parsley chopping. A fine-mesh sieve helps strain any excess liquid from the parsley before adding it to the broth. For serving, deep soup bowls (like Corelle’s) hold the broth beautifully, and a crusty bread basket completes the presentation.
I keep a small plate nearby for extra parmesan and parsley to garnish each bowl. 🥖
Nutrition facts
Frequently asked questions
Can I make the meatballs ahead of time?
The meatball mixture can be refrigerated in an airtight container for up to 3 days before cooking. For best texture, cook them fresh, but you can also freeze them for 3 months. Just thaw overnight in the fridge before browning. The uncooked mixture also freezes well—portion into 1-inch balls on a tray, freeze solid, then transfer to a bag.
What if I don't have fresh basil?
Use 1 tablespoon dried basil (or 1 teaspoon dried oregano) plus 1 teaspoon tomato paste to mimic the flavor. For brightness, add ½ teaspoon red pepper flakes or a splash of lemon juice. The parsley garnish can replace some of the fresh basil's aroma. The dish will still taste great—just slightly different.
How do I fix meatballs that fall apart?
Overmixing or too much moisture causes this. For next time, use 1 extra tablespoon breadcrumbs per batch and avoid pressing too hard when forming. If it happens, add 1 beaten egg to the mixture and reshape. For immediate fixes, simmer the broken meatballs in broth for 10-15 minutes—the heat will help them firm up.
Can I make this soup vegetarian?
Yes! Swap the ground beef for 1.5 lbs mushrooms (cremini or portobello) finely chopped, plus ½ cup cooked lentils for texture. Add 1 teaspoon smoked paprika to deepen flavor. The broth will still be rich, but the meatballs will have an earthy twist. Use vegetable broth and check seasoning—vegetarian versions often need more salt.
Why does my broth taste bland?
Simmering too long reduces flavor. Keep the broth at a gentle simmer (small bubbles) for exactly 10 minutes before adding meatballs. For depth, add 1 teaspoon fish sauce or ½ teaspoon soy sauce to the broth. A splash of red wine (¼ cup) while deglazing also adds complexity. Taste as you go—adjust salt and acidity (lemon juice or vinegar) last.
