Soups & Stews
This albondigas soup recipe with zucchini brings comforting Spanish tradition to your kitchen with tender meatballs simmered in aromatic broth. The secret lies in perfectly balanced meatballs—ground beef and pork combined with breadcrumbs, eggs, and herbs—that develop rich flavor when fried before simmering. Zucchini adds freshness while soaking up the savory broth, creating a harmonious blend of textures and tastes.
The recipe begins with making the meatballs, which are gently fried until golden before being simmered in a fragrant broth infused with garlic, onions, and bay leaves. This traditional technique ensures the meatballs stay tender while absorbing the broth's deep flavors. The zucchini is added later to maintain its crisp texture, ensuring each bite delivers both hearty meatballs and fresh vegetable.
What you'll end up with is a soup that's both comforting and elegant—warm, aromatic, and packed with layers of flavor. The meatballs remain juicy and flavorful, the broth rich and satisfying, and the zucchini adds a refreshing contrast. This dish is perfect for family dinners or cozy gatherings, where every spoonful feels like a hug in a bowl.
Serve with crusty bread to soak up every last drop of that herb-infused broth, or pair with a simple green salad for a complete meal. The recipe scales easily, making it ideal for feeding a crowd or preparing ahead for busy weeks. Let's get started on creating this timeless classic in your own kitchen.
Ingredients for albondigas soup recipe with zucchini
Tender meatballs, aromatic broth, and fresh zucchini create this comforting Spanish classic.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Beef 🥩 | ¾ lb | Lean ground beef preferred |
| Ground Pork 🐖 | ½ lb | Finely ground for best texture |
| Day-Old Bread 🍞 | ½ cup | Crusts removed, torn into pieces |
| Large Eggs 🥚 | 2 whole | Room temperature for even mixing |
| Fresh Parsley 🌿 | ¼ cup | Finely chopped, stems included |
| Garlic Cloves 🧄 | 3 cloves | Minced for meatballs |
| Shallots 🧅 | 1 whole | Finely minced, 2 tbsp total |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For frying meatballs |
| Yellow Onions 🧅 | 1 whole | Diced, for broth base |
| Carrots 🥕 | 2 whole | Peeled, sliced into rounds |
| Celery Stalks 🧅 | 2 whole | Diced, for broth base |
| Garlic Cloves 🧄 | 4 cloves | Minced, for broth |
| Bay Leaves 🌿 | 2 whole | Fresh preferred |
| Fresh Zucchini 🥒 | 2 whole | Medium size, sliced into half-moons |
| Vegetable Broth 💧 | 4 cups | Low-sodium preferred |
| Dried Oregano 🍃 | 1 tsp | Mexican oregano if available |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Thyme 🌿 | 1 tbsp | Leaves only, chopped |
The meatballs are where the magic happens. Ground beef and pork create the perfect texture—lean beef keeps them tender, while pork adds richness. Day-old bread is key here; it absorbs moisture without making the meatballs soggy. For the best flavor, use fresh parsley and thyme—the grocery store's plastic containers work, but farmers' market herbs have more punch. If you can't find fresh thyme, dried is fine at half the amount. The garlic and shallots should be minced finely; a food processor makes quick work of this. For the broth base, yellow onions, carrots, and celery form the classic mirepoix—don't skip the celery, it rounds out the flavor.
No fresh herbs? Dried oregano or basil work in a pinch, but reduce to one-third the amount. Short on pork? Extra ground beef keeps the dish hearty. For the zucchini, medium size ensures they cook just enough to soften without turning to mush. If you prefer your zucchini extra tender, slice them thinner. The vegetable broth should be low-sodium—you'll be adding plenty of salt later. For extra depth, toast the breadcrumbs in a dry pan before mixing into the meatballs; it adds a subtle nutty flavor. If you're making this ahead, freeze the meatballs before frying—they'll cook just as well from frozen.
This soup tastes even better the next day as the flavors meld. Store leftovers in the fridge for 4-5 days, or freeze for 3 months. The meatballs reheat beautifully—just warm them gently in the broth. For serving, crusty bread is a must; it soaks up the broth like a dream. If you're prepping ahead, make the broth first and store it separately. The meatballs can be fried and frozen before simmering, saving you time on busy days. The zucchini should always be added fresh to the pot—it cooks in minutes and keeps its vibrant color.
Why You'll Love This Recipe
- No Chopping Needed: I’ll admit, I used to dread the prep work for albondigas—until I realized you can just tear that stale bread into crumbs. The zucchini? Toss in thick slices or even pre-cut rounds straight from the fridge. Twenty minutes later, you’re done.
- Meatball Magic: Between us, mixing ground beef and pork gives these meatballs a depth that’s hard to beat. The parsley isn’t just garnish—it brightens every bite, and that crispy sear in the broth? Pure satisfaction. (Yes, even on a Tuesday night.)
- Leftovers That Shine: This soup actually improves the next day. The flavors meld, the meatballs soften just enough, and you can reheat it with a splash of water or milk. I keep a jar of extra meatballs in the freezer—because why not?
- Budget-Friendly Feast: You’re using pantry staples (bread, eggs) and affordable proteins (ground meats) to stretch into four servings. Add zucchini from the garden or a sale bin, and suddenly you’ve got a hearty meal that won’t break the bank. My college self would’ve cried.
Step-by-step instructions for albondigas soup with zucchini
Here's how to create tender meatballs in a rich, aromatic broth with fresh zucchini.
Prepare the Meatball Mixture
In a large bowl, combine the 0.75 lb ground beef and 0.5 lb ground pork. Add the 0.5 cup day-old bread (torn into pieces) and the 2 whole large eggs. Mix these ingredients gently with your hands or a fork until just combined—overmixing develops gluten and makes meatballs tough.
In a separate small bowl, finely chop the 0.25 cup fresh parsley and mince the 3 cloves garlic and 1 whole shallots (about 2 tablespoons). Add these to the meat mixture along with 1.5 teaspoons salt, 0.5 teaspoon black pepper, and 1 tablespoon fresh thyme. Mix everything thoroughly but carefully, ensuring the bread absorbs moisture without turning the mixture wet.
Roll the mixture into 1-inch meatballs—about 16 total—and place them on a plate. Cover with plastic wrap and refrigerate for 30 minutes to firm up slightly. This chilling step helps the meatballs hold their shape when cooking.
Brown the Meatballs in Olive Oil
Heat 0.5 cup extra-virgin olive oil in a large Dutch oven or deep skillet over medium-high heat. Working in batches to avoid overcrowding, add the meatballs and cook for 3-4 minutes per side until they turn golden brown and develop a crust. This browning step adds depth of flavor to the final soup.
Transfer the browned meatballs to a plate and set aside. If the oil looks dark or smoky, discard it and add a fresh 2 tablespoons olive oil to the pot—you want clean oil for cooking the vegetables without burning flavors.
Build the Herb-Infused Broth
In the same pot, add 1 whole yellow onions, 2 whole carrots (sliced into rounds), and 2 whole celery stalks (diced). Cook over medium heat for 5 minutes until the vegetables soften slightly. Add the 4 cloves minced garlic and cook for another 30 seconds until fragrant.
Pour in the 4 cups vegetable broth and add the 1 teaspoon dried oregano, 2 whole bay leaves, and 1 tablespoon fresh thyme. Bring to a gentle simmer and let it cook for 10 minutes to infuse the broth with flavor. Skim off any foam that rises to the surface for a cleaner-tasting soup.
Simmer the Meatballs and Add Zucchini
Return the browned meatballs to the pot and add the 2 whole fresh zucchini (sliced into half-moons). Bring the mixture to a gentle boil, then reduce heat to low and let it simmer uncovered for 15-20 minutes. The meatballs should cook through and the zucchini should soften but still retain a slight bite.
Check the seasoning and adjust with additional salt if needed. The soup should be flavorful but not overly salty. Taste the broth separately to ensure it has enough depth—if it's bland, add a pinch more salt or a splash of vegetable broth to concentrate the flavors.
Finish and Serve
Once the meatballs are fully cooked (they should be tender but not falling apart) and the zucchini is just tender, remove the bay leaves from the pot. Ladle the soup into bowls, ensuring each serving has 4 meatballs and a generous portion of zucchini.
Garnish each serving with a sprinkle of fresh parsley and serve immediately. The meatballs should be juicy and flavorful, the broth rich and aromatic, and the zucchini tender-crisp. This soup is best enjoyed fresh while the meatballs are warm and the broth is steaming.
Pro Tips For Making Albondigas Soup Recipe With Zucchini
- CHILL THE MEAT MIX: Mix your ground beef and pork with the breadcrumbs and parsley, then pop it in the fridge for 15–20 minutes before shaping. Cold meat binds better—no more crumbly albondigas falling apart when you drop them in the soup. (I learned this the hard way after watching three batches disintegrate.)
- TOAST THE BREADCRUMBS: Skip the stale bread shortcut—toss your day-old bread in a dry pan over medium heat for 2–3 minutes until golden. The toasted crumbs add texture and soak up less liquid, keeping your meatballs firm. (Yes, even if you’re impatient like me.)
- DON’T OVERMIX THE DOUGH: Once you add the egg, stop stirring after 2–3 turns—just enough to combine. Overworking the mix makes albondigas dense and rubbery. Handle them gently when shaping; they’ll hold together without turning into meatball-shaped bricks.
- SIMMER LOW AND SLOW: After dropping the albondigas into the broth, keep the heat at a bare simmer—no boiling. High heat will cook them unevenly and cause them to split open, releasing filling into the soup. A gentle roll every 5 minutes ensures even cooking without falling apart. (Your future self will thank you.)
Regional styles of this recipe
Spanish Tradition
This albondigas soup traces its roots to Spain, where it's traditionally made with pork-based meatballs simmered in a tomato-infused broth. The classic version often includes potatoes instead of zucchini, but the vegetable adds a refreshing twist while keeping the dish authentically Spanish. In Andalusia, the region where albondigas originated, cooks often use pimentón (smoked paprika) for depth—just ½ teaspoon adds incredible complexity. 🌍
Mexican Fusion
Crossing the border, Mexican home cooks transform albondigas into a heartier dish by adding tomato sauce and chipotle peppers to the broth. The zucchini pairs beautifully with this spicy adaptation, and many versions include corn kernels for texture. For a true Mexican touch, serve with warm tortillas or avocado slices on top. I love adding 1-2 chipotle peppers in adobo to the broth for smoky heat.
Italian Influence
In Italy, a similar dish called polpette in brodo uses all beef meatballs and often includes Parmigiano-Reggiano in the mixture. The broth is typically made with chicken stock instead of vegetable broth, and the zucchini would be replaced with spinach or escarole. For an Italian-inspired albondigas, swap the vegetable broth for 4 cups chicken stock and add ¼ cup grated Parmesan to the meatball mixture.
Modern Adaptations
Today's cooks are getting creative with albondigas—some use ground turkey or chicken for a lighter version, while others make vegetarian meatballs with mushrooms and lentils. The zucchini remains a popular addition, especially in summer when fresh produce is abundant. For a vegan twist, replace the meat with 1 cup cooked lentils and ½ cup breadcrumbs, then bind with 1 flax egg (1 tbsp ground flax + 3 tbsp water).
Regional Broth Variations
In Catalonia, the broth often includes white wine and saffron for a luxurious touch. For a Catalan-inspired albondigas, deglaze the pot with ¼ cup white wine after browning the meatballs, then add a pinch of saffron threads to the broth. Meanwhile, in Galicia, cooks might add seafood stock and serve with clams or mussels alongside the meatballs—a true coastal twist. 🍷
Nutrition facts
Frequently asked questions
Can I make albondigas soup ahead of time?
The meatballs can be made 1 day ahead—fry them, then refrigerate in the broth (without zucchini) for up to 24 hours. Add zucchini fresh when reheating. For longer storage, freeze the cooked meatballs in broth for 3 months. Thaw overnight in the fridge before reheating gently on the stove.
Why do my meatballs turn out dry?
Overmixing the meatball mixture develops gluten, making them tough. Keep mixing gentle and use day-old bread (not fresh) to absorb moisture. Also, avoid overcooking—simmer just until tender (15-20 minutes). For extra juiciness, add 1 tablespoon milk to the meat mixture.
What can I substitute for zucchini?
Try bell peppers (diced) for color, green beans (trimmed) for crunch, or spinach (chopped) for richness. Zucchini's mild flavor works best, but avoid starchy veggies like potatoes—they’ll make the soup too thick. Add veggies 5-7 minutes before serving to preserve texture.
How do I make this soup vegetarian?
Replace the meat with 1 cup cooked lentils or mushrooms (finely chopped) mixed with ½ cup breadcrumbs and 1 flax egg (1 tbsp ground flax + 3 tbsp water). Use vegetable broth and add 1 teaspoon nutritional yeast for a cheesy flavor. The zucchini will still shine as the fresh component!
Can I use store-bought meatballs?
Yes, but homemade meatballs taste far superior! If short on time, use Italian-style meatballs (not pre-cooked) and brown them in olive oil before simmering. For best results, choose ones with pork or beef as the first ingredient. Add them 10 minutes before serving to prevent overcooking.
