Soups & Stews
This albondigas soup recipe with zucchini brings the comforting flavors of Latin American home cooking to your table. The tender herb-infused meatballs—albondigas—simmer in a light tomato broth until perfectly seasoned, while zucchini adds freshness and texture. I developed this version after years of testing, ensuring every bite delivers that perfect balance of savory, herby, and slightly tangy flavors.
The beauty of this recipe lies in its simplicity and depth. Ground beef and pork blend seamlessly with fresh herbs, garlic, and a touch of breadcrumbs to create meatballs that stay tender yet hold their shape. Meanwhile, the broth simmers with tomatoes, onions, and a bay leaf, infusing the soup with rich, aromatic layers. The zucchini cooks just until tender-crisp, adding a vibrant contrast to the warm meatballs.
What makes this dish truly special is its versatility—serve it as a hearty main course or a comforting appetizer. The soup's light yet flavorful broth pairs beautifully with crusty bread, and the meatballs can be made ahead, making this recipe perfect for meal prep. Each spoonful delivers a harmonious blend of textures and flavors that will leave everyone asking for seconds.
The result is a soup that feels both nostalgic and refined, with every ingredient playing a crucial role. The meatballs remain juicy and flavorful, the broth is bright and aromatic, and the zucchini adds a fresh, slightly sweet element. This is the kind of dish that feels like a warm embrace on a chilly day, and it’s sure to become a staple in your recipe rotation.
Ingredients for albondigas soup recipe with zucchini
Herb-infused meatballs meet light tomato broth and tender zucchini in this comforting Latin-inspired dish.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | ½ lb | 80% lean, finely ground |
| Ground Pork 🐷 | ½ lb | Finely ground for tenderness |
| Fresh Breadcrumbs 🍞 | ½ cup | Dry, from crusty bread |
| Large Eggs 🥚 | 1 whole | Room temperature preferred |
| Fresh Parsley 🌿 | ¼ cup | Finely chopped, stems removed |
| Fresh Cilantro 🌿 | ⅛ cup | Finely chopped, optional |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Shallots 🧅 | 2 whole | Finely chopped, or sub onions |
| Canned Tomato Sauce 🍅 | 2 cups | San Marzano preferred |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Fresh Zucchini 🥒 | 2 medium | Sliced into half-moons |
| Bay Leaves 🌿 | 2 whole | Fresh preferred |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For meatball binding |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
The meatballs are where this soup shines. Ground beef and pork blend perfectly for juiciness—don't substitute lean ground turkey, which dries out. For the best texture, grind your own breadcrumbs from a crusty loaf like sourdough or baguette. Whole Foods or Trader Joe's carry excellent options, but any dry bread works in a pinch. Fresh herbs are non-negotiable here—parsley and cilantro should be bright green with no wilting. If you're short on cilantro, double the parsley for similar brightness.
No shallots? One small red onion works perfectly—just chop it extra fine. The tomato sauce can be homemade (simmer crushed tomatoes with garlic and olive oil) or San Marzano canned for that authentic sweetness. Vegetable broth matters—low-sodium is key so you can control the seasoning. For the zucchini, medium-sized (about 6-8 inches) gives the best texture without being watery. If using larger ones, halve them lengthwise before slicing. The bay leaves add depth but should be removed before serving—store them in a small jar of olive oil for next time.
This soup tastes even better the next day as flavors meld. Store the meatballs and broth separately in airtight containers for up to 3 days—reheat gently on the stove. The zucchini should be added fresh when reheating, as it doesn't hold up well when stored. For freezer prep, portion the meatballs into single-serving bags and freeze for up to 2 months. Thaw overnight in the fridge before reheating. The broth freezes beautifully for up to 6 months, so make extra—it's perfect for future soups or braises.
Why You'll Love This Recipe
- One-Bowl Wonder: I swear by this when I’m too wiped to wash dishes—just mix the beef, pork, breadcrumbs, and parsley right in the pot, shape them, then simmer everything together. The zucchini practically melts into the broth, so no chopping stress.
- Meatball Magic: That crispy exterior with the juicy, herby center? It’s the egg and breadcrumb combo doing all the work—no fancy binders needed. Honestly, my picky eaters actually ask for seconds, and that’s saying something.
- Leftover Hero: This soup tastes even better the next day (yes, really). I double the batch on Sundays, freeze half, and pull it out for lazy nights—no defrosting required, just reheat and serve. Budget-friendly too, since ground meat stretches far.
- Zucchini Rescue: Got wilting zucchini? Toss it in here. The meatballs soak up the mild flavor while the broth stays rich, so you’re not left with sad, watery veggies. It’s my go-to for using up garden (or grocery) scraps without waste.
Step-by-step instructions for albondigas soup with zucchini
Here's how to create tender herb-infused meatballs and a fragrant tomato broth that comes together in one pot.
Prepare the Meatball Mixture
In a large bowl, combine the 0.5 lb ground beef and 0.5 lb ground pork. Add the 0.5 cup fresh breadcrumbs, 1 whole large egg, 0.25 cup finely chopped fresh parsley, 0.125 cup chopped fresh cilantro, 4 minced garlic cloves, 1.5 tsp salt, and 0.5 tsp ground black pepper. Using your hands, gently mix until just combined—don't overwork the mixture or the meatballs will become dense.
I like to press the mixture lightly to check consistency. It should hold together when shaped but not feel sticky. If it's too wet, add a few more breadcrumbs; if too dry, add a splash of water. Cover the bowl and refrigerate for 15 minutes—this helps the flavors meld and makes shaping easier later.
Form and Brown the Meatballs
Heat 2 tbsp extra-virgin olive oil in a large pot over medium-high heat. Roll the chilled meatball mixture into 1-inch balls (you should get about 12 meatballs for 4 servings) and carefully add them to the pot in a single layer. Don't crowd the pan—this ensures even browning.
Cook undisturbed for 3-4 minutes until the meatballs develop a golden-brown crust. You'll see the edges start to crisp—that's your signal to gently flip them. Continue cooking for another 3-4 minutes until they're browned on all sides. Remove the meatballs and set aside on a plate, leaving the rendered fat in the pot.
Build the Flavorful Base
In the same pot, add the 2 finely chopped shallots and cook for 2 minutes until softened. Stir in the 4 cups vegetable broth and 2 cups canned tomato sauce, scraping up any browned bits from the bottom of the pot. Add the 2 whole bay leaves and bring to a gentle simmer over medium heat. Let it cook uncovered for 10 minutes to allow the flavors to meld.
Here's the thing—this simmering step develops depth. The broth should smell rich and slightly sweet, with notes of tomato and herbs. If it reduces too quickly, add a splash of water to maintain the proper consistency for the meatballs to cook through later.
Cook the Meatballs and Zucchini Together
Return the meatballs to the pot and add the 2 medium fresh zucchini, sliced into half-moons. Bring everything to a gentle simmer, then reduce heat to low. Cover and let it cook for 15-20 minutes, stirring occasionally. The meatballs should cook through completely, reaching an internal temperature of 165°F when checked with an instant-read thermometer.
You'll know they're done when they're tender all the way through and the zucchini is just tender-crisp. The broth should be rich but not overpowering—just enough to coat the meatballs and vegetables lightly. If the soup seems too thick, add a bit more broth or water to reach your preferred consistency.
Finish and Serve
Remove the pot from heat and let the soup rest for 5 minutes. This resting period allows the flavors to settle and the meatballs to absorb any remaining broth. Discard the bay leaves before serving. Taste and adjust seasoning if needed—sometimes the meatballs need a touch more salt or pepper to balance the broth.
Ladle the soup into bowls and serve immediately. Each spoonful should deliver tender meatballs infused with fresh herbs, a light tomato broth, and the subtle sweetness of zucchini. For extra freshness, garnish with additional chopped parsley or cilantro right before serving.
Pro Tips For Making Albondigas Soup Recipe With Zucchini
- Chill the Meat Mixture: I learned this the hard way—skipping the fridge time means your albondigas will fall apart when they hit the boiling broth. Mix your ground beef, pork, breadcrumbs, egg, and parsley, then pop the bowl in the fridge for at least 30 minutes. The cold helps the proteins tighten up, so they hold shape better during cooking. (Yes, even if you're impatient like me.)
- Toast the Breadcrumbs Dry: Fresh breadcrumbs are great, but dry them in a skillet over medium-low heat for 2-3 minutes before mixing with the meat. This removes excess moisture, which keeps your albondigas from turning into mushy dumplings in the soup. Just don’t walk away—burnt crumbs taste like regret.
- Poach Gently, Not Boil: Drop your albondigas into the soup broth at a gentle simmer, not a rolling boil. High heat will cook them too fast on the outside while leaving them raw inside—or worse, make them disintegrate. Aim for tiny bubbles breaking the surface, and cook just 4-5 minutes. Undercooked is better than overdone here.
- Use Two Eggs, Not One: One egg is the bare minimum, but two bind the meat mixture more securely, especially when you’re adding zucchini (which releases water). Crack them into a separate bowl first, whisk them smooth, then fold in—this prevents lumps that turn into weak spots in your meatballs. Trust me, the extra effort is worth it.
Regional styles of these flavors
Mexican-Style Albondigas
In Mexico, albondigas soup often includes a touch of chipotle or guajillo chili powder for subtle heat. I like to add 1 teaspoon chipotle powder to the meatball mixture along with the parsley and cilantro. For extra depth, stir ½ cup tomato paste into the broth with the shallots. This version keeps the same tender meatballs but adds a smoky, slightly spicy kick that pairs perfectly with the zucchini's freshness. 🌶️
Spanish-Inspired Version
Spanish albondigas soup often features a white wine broth instead of tomato-based. Replace the tomato sauce with 1 cup dry white wine (like Albariño) and add 1 cup heavy cream at the end for richness. Use saffron threads (a pinch) in the broth for a golden hue and floral aroma. The zucchini still shines here, but the broth takes on a more delicate, wine-infused character.
Caribbean Twist
For a tropical variation, swap the vegetable broth for coconut milk broth—simmer 1 can coconut milk with the shallots and bay leaves. Add 1 teaspoon ground cumin and ½ teaspoon allspice to the meatball mixture. The zucchini adds a refreshing contrast to the creamy, spiced broth. Garnish with lime wedges and cilantro for a bright finish. 🌴
Italian-Inspired Broth
Italian albondigas often use a tomato and basil broth with a touch of Parmesan rind. Replace the bay leaves with 4 fresh basil leaves and add 1 Parmesan rind to the broth. Stir in ½ cup grated Parmesan at the end for a cheesy finish. The zucchini works beautifully here, and the meatballs gain a nutty depth from the cheese. Serve with crusty bread for dipping.
Portuguese-Style Meatballs
In Portugal, albondigas often include hard-boiled eggs and pine nuts for texture. Add 1 finely chopped hard-boiled egg and ¼ cup toasted pine nuts to the meatball mixture. The broth remains tomato-based, but the meatballs become richer and more complex. The zucchini's freshness balances the nutty, eggy depth perfectly. This version is heartier and ideal for colder months.
Vegetarian Adaptation
For a plant-based twist, replace the meat with a blend of lentils, mushrooms, and breadcrumbs. Sauté 1 cup finely chopped mushrooms and ½ cup cooked brown lentils with the shallots, then proceed with the recipe. The zucchini remains the star, and the broth gains an earthy depth. Use vegetable broth and a flax egg (1 tbsp ground flaxseed + 3 tbsp water) to bind the mixture. 🌱
Nutrition facts
Frequently asked questions
Can I make albondigas meatballs ahead of time?
Shape the meatballs and refrigerate them in an airtight container for up to 24 hours before cooking. For longer storage, freeze them on a baking sheet first (to prevent sticking), then transfer to a freezer bag for up to 3 months. Thaw overnight in the fridge before browning and simmering in the soup. This is actually a great time-saver for busy weeknights!
What if I don't have fresh zucchini?
No problem! You can substitute with yellow squash (same size) or green beans (trimmed and halved). For a different texture, try carrots or celery—just adjust cooking time to 10-12 minutes instead of 15-20. The key is to add vegetables that will hold up well in the broth without turning mushy.
Why do my meatballs fall apart when cooking?
This usually happens from overmixing or using too-wet ingredients. Gently mix just until combined—don't pack the bowl like you're kneading dough. If the mixture feels sticky, add 1-2 extra tablespoons of breadcrumbs. Also, make sure your ground meat isn't too lean (stick with 80% lean beef/pork). Chilling the mixture for 15 minutes before shaping helps too!
Can I make this soup in an Instant Pot?
Yes! Sauté the shallots, brown the meatballs, then add broth, tomato sauce, and bay leaves. Cook on high pressure for 8 minutes (natural release). Add zucchini during the last 3 minutes of cooking. The Instant Pot version cooks faster but may need a splash of extra broth to reach your preferred consistency. The meatballs will be just as tender!
What's the best way to reheat leftovers?
Gently reheat on the stove over low-medium heat until warmed through—never microwave directly from the fridge. Add a splash of water or broth if the soup seems thick. For best texture, reheat just the meatballs and broth separately, then combine with fresh zucchini (added during the last 2-3 minutes of reheating). This keeps everything tender and flavorful!
