Sopa de Albóndigas
Sopa de Albóndigas is a classic Mexican meatball soup with tender beef-and-rice meatballs simmered in a savory red tomato broth with carrot, potato, and zucchini. The key is lightly mixed meatballs, a properly cooked tomato base, and a gentle simmer so the albóndigas stay tender and hold together. Mixing the meatball mixture only gently, never kneading or compacting it, is the technique this whole soup depends on — overmixed meat tightens and turns dense, exactly the wrong texture for a meatball meant to stay tender in broth, the same gentle-mix principle used elsewhere in this collection whenever ground meat needs to stay soft and yielding rather than compacted. Cooking the blended tomato base thoroughly before the remaining broth and vegetables join it is what gives the finished soup real savoury depth rather than a raw, flat tomato flavour. Keeping the broth at a genuine gentle simmer, especially once the meatballs go in, is what protects them from breaking apart in a violent boil. The payoff is a bowl with tender, cohesive meatballs holding their shape in a bright red, savoury broth, alongside distinct carrot, potato, and zucchini.

Prep Time : 25 min
Cook Time : 40 min
Servings : 4
25 min
40 min
4
Ingredients
For the Meatballs
• 800g ground beef, preferably 85–90% lean
• 90g uncooked long-grain white rice, rinsed
• 1 large egg
• 80g white onion, very finely minced or grated
• 3 garlic cloves, finely grated
• 20g fresh cilantro, finely chopped
• 8–10 fresh mint leaves, finely chopped
• 8g fine sea salt — this one on Amazon
• ½ tsp freshly ground black pepper
• ½ tsp dried oregano
• 2 tbsp water
For the Broth Base
• 15ml neutral oil
• 180g white onion, roughly chopped
• 3 garlic cloves
• 700g ripe tomatoes, roughly chopped, or canned whole peeled tomatoes
• 1.5 litres beef broth or chicken broth
• 2 tbsp tomato paste, optional, for extra depth
• 1 tsp dried Mexican oregano — this one on Amazon
• ½ tsp ground cumin — this one on Amazon
• 2 bay leaves
• 10g fine sea salt, plus more to taste
• Freshly ground black pepper, to taste
For the Vegetables
• 2 medium carrots, peeled and cut into thick half-moons
• 2 medium potatoes, peeled and cut into medium chunks
• 2 medium zucchini, cut into thick half-moons or chunks
For Finishing
• 20g fresh cilantro, chopped
• 2 limes, cut into wedges
This post may contain affiliate links. As an Amazon Associate I earn from qualifying purchases, at no additional cost to you.
Directions
- Prepare the Meatball Mixture
Add the ground beef, rinsed rice, egg, finely minced onion, grated garlic, cilantro, mint, salt, black pepper, oregano, and water to a bowl. Mix gently with your hands just until evenly combined. Do not knead or compact the mixture. Shape into 16 small meatballs, about 45–50g each, and set aside on a tray. The mixture should feel cohesive enough to hold its shape, but still soft. Overmixing makes the meatballs dense and tough. Ground meat’s proteins tighten and bind together the more they’re worked — stopping the mixing the moment everything is evenly distributed, rather than continuing for a smoother-looking mixture, is what keeps the finished meatballs tender rather than dense. - Blend and Cook the Tomato Base
In a blender, combine the roughly chopped onion, garlic, tomatoes, and about 250ml of the broth. Blend until fully smooth. Heat the oil in a large pot or Dutch oven over medium heat. Add the blended tomato mixture carefully and cook for 8–10 minutes, stirring often, until it darkens slightly, thickens a little, and loses its raw tomato smell. Stir in the tomato paste if using, then add the oregano, cumin, bay leaves, salt, a few grinds of black pepper, and the remaining broth. Bring to a gentle simmer. The tomato base should smell savory and cooked, not sharp or raw. This step gives the broth its depth. This active cooking stage is what actually transforms the blended purée from something tasting distinctly raw into a genuine, developed broth base — that transformation doesn’t happen automatically once the remaining broth dilutes it, which is why real cooking time here matters before moving forward. - Start the Vegetables
Add the carrots and potatoes to the simmering broth. Cook for 10 minutes at a gentle simmer. The broth should be simmering gently, not boiling hard. A violent boil can break the meatballs later. Establishing this gentle simmer now, before the meatballs are even added, sets the pace the rest of the cook needs to maintain — the meatballs about to go in have essentially no tolerance for the aggressive agitation a hard boil would introduce. - Add the Meatballs
Lower the heat slightly if needed so the soup is only gently bubbling. Carefully drop the meatballs into the broth one by one. Once all are in, do not stir aggressively for the first 8–10 minutes. Gently shake the pot occasionally if needed. Simmer for 15 minutes. The meatballs should begin to firm up and hold together as the rice and proteins set. If stirred too early, they can break apart. Meatballs added directly to hot liquid start out genuinely fragile — their proteins and rice need this initial, undisturbed window to set and firm up before they can withstand any real agitation, which is exactly why aggressive stirring is specifically avoided in this early stretch. - Add the Zucchini and Finish
Add the zucchini and continue simmering for another 10 minutes, or until the meatballs are fully cooked through, the rice inside the meatballs is tender, the potatoes and carrots are tender, and the zucchini is just cooked but not mushy. Taste the broth and adjust salt and pepper as needed. Remove the bay leaves. The final broth should be bright red and savory, the meatballs tender, and the vegetables fully cooked but still holding their shape. Adding the zucchini only in this final stage, well after the denser carrot and potato, protects it from the extra simmering time that would otherwise push it toward collapsing before the rest of the soup is ready. - Serve
Ladle the soup into bowls, making sure each serving gets broth, vegetables, and 4 meatballs. Top with chopped fresh cilantro and serve with lime wedges on the side. Serving the lime as a wedge for squeezing at the table, rather than added into the pot, lets each bowl receive that bright citrus lift at its freshest, right before the first spoonful.
*Notes :
- Mixing the meatball mixture only gently, stopping as soon as everything is evenly combined, deserves genuine respect as the technique most directly responsible for this soup’s texture. Ground meat’s muscle proteins bind together more tightly the more they’re handled — a meatball mixture that’s been kneaded or compacted develops a noticeably denser, tougher texture once cooked, working directly against the tender result this recipe specifically calls for.
- Cooking the blended tomato base thoroughly before the remaining broth and vegetables are added reflects the same logic used throughout this collection’s other tomato-based Mexican soups. A blended purée straight from the blender still carries a distinctly raw, sharp edge, and that quality doesn’t disappear simply through dilution — it needs real, dedicated cooking time on its own first to develop into something genuinely savoury.
- Establishing a genuine gentle simmer before the meatballs are ever added, and maintaining that same gentle pace throughout their cooking, addresses a real structural vulnerability specific to this dish. Freshly formed meatballs, especially ones mixed gently rather than compacted, are genuinely fragile until their proteins and rice have had time to set — a hard boil at this stage physically agitates the liquid enough to break them apart before that setting process has finished.
- The specific instruction against stirring aggressively during the meatballs’ first 8–10 minutes in the pot deserves the same attention. That initial window is when the meatballs are at their most vulnerable, still firming up rather than fully set — even well-intentioned stirring during that period risks breaking apart meatballs that would otherwise hold together perfectly well once given the chance to finish setting undisturbed.
Why This Recipe Works
This recipe works because the meatball mixture is handled gently, stopping the mixing the moment everything is evenly combined rather than continuing toward a smoother, more compacted texture that would toughen the finished meatballs.
The tomato base is actively cooked before dilution, developing genuine savoury depth rather than staying raw and sharp. A gentle simmer, established before the meatballs are added and maintained carefully through their first vulnerable minutes in the pot, protects them from breaking apart.
Staged vegetable additions let carrot, potato, and zucchini all finish properly tender together, and fresh lime added at the table brightens each bowl right when it matters most.
Ingredient Breakdown
Gently Mixed Ground Beef and Rice Meatballs
The defining component — mixed only until combined, never kneaded, keeping the finished texture tender rather than dense.
Uncooked Rice (Cooked Inside the Meatballs)
The classic binder — cooks through gradually as the meatballs simmer, adding body and traditional texture.
Thoroughly Cooked Tomato Broth Base
The flavour foundation — actively cooked before dilution, developing genuine savoury depth rather than staying raw and sharp.
Genuine Gentle Simmer (Especially With Meatballs In)
The critical technique — protects the fragile, still-setting meatballs from breaking apart in aggressive boiling liquid.
Staged Carrot, Potato, and Zucchini Additions
The vegetable technique — timed according to each one’s own cooking needs, letting everything finish tender together.
Flavor Structure Explained
This sopa de albóndigas follows a layered balance model:
- Tender savoury centre (gently mixed beef-and-rice meatballs)
- Deep savoury broth (thoroughly cooked tomato base)
- Warm background spice (oregano, cumin)
- Distinct hearty body (carrot, potato, zucchini)
- Bright citrus finish (fresh lime)
Gently mixed beef-and-rice meatballs provide this soup’s tender, savoury centre, their rice cooking through gradually as they simmer. The thoroughly cooked tomato base contributes deep, genuine broth flavour rather than anything raw or flat. Oregano and cumin add warm background spice throughout. Carrot, potato, and zucchini, staged by their own cooking times, give the soup real, distinct body. A final squeeze of fresh lime brightens every bowl right before eating.
Common Mistakes to Avoid
- Overmixing or Kneading the Meatball Mixture – This produces dense, tough meatballs. Always mix only gently, just until combined.
- Skipping the Tomato Base’s Cooking Stage – This leaves the finished broth tasting raw and flat. Always cook the blended base thoroughly before adding the remaining broth.
- Boiling the Broth Hard Once the Meatballs Are In – This physically breaks the meatballs apart. Always maintain a genuine gentle simmer throughout.
- Stirring Aggressively Right After Adding the Meatballs – This can break them apart before they’ve had time to set. Always leave them undisturbed for the first 8–10 minutes.
- Adding the Zucchini Too Early – This causes it to collapse and turn mushy by the time the soup is done. Always add it only in the final stage.
Variations
Extra-Herbal Version
Include a slightly more generous amount of fresh mint in the meatballs for a more pronounced classic flavour.
Spicier Version
Add a small amount of diced jalapeño or a dash of hot sauce to the broth for extra heat.
Chicken Broth Version
Use chicken broth instead of beef broth for a somewhat lighter finished flavour.
Extra-Vegetable Version
Add a handful of green beans alongside the zucchini for a heartier, more vegetable-forward bowl.
Storage & Make-Ahead
Leftovers keep well, but the rice in the meatballs and the vegetables will continue absorbing liquid, so loosen with extra broth when reheating.
The tomato broth base can be made ahead and refrigerated in a sealed container for a few days before combining with meatballs and vegetables.
Uncooked, shaped meatballs can be refrigerated for a few hours before cooking, but are best simmered fresh rather than held for an extended period.
Frequently Asked Questions
Why does the meatball mixture need to be mixed only gently rather than kneaded thoroughly?
Ground meat’s proteins bind together more tightly the more they’re handled, and a mixture that’s been kneaded or compacted develops a noticeably denser, tougher texture once cooked. Mixing only gently, stopping as soon as everything is combined, keeps the meatballs tender.
Why does the tomato base need to be cooked before the remaining broth is added?
A blended purée straight from the blender still carries a distinctly raw, sharp edge that doesn’t simply disappear through dilution. Real, dedicated cooking time on its own first is what allows the base to develop genuine savoury depth.
Why can’t the broth be boiled hard once the meatballs are added?
Freshly formed meatballs are genuinely fragile until their proteins and rice have had time to set. A hard boil physically agitates the liquid enough to break them apart before that setting process has finished.
Why shouldn’t the meatballs be stirred right after they’re added to the pot?
That initial window, before the meatballs have firmed up, is when they’re most vulnerable to breaking apart. Leaving them undisturbed for the first 8–10 minutes gives them the chance to set properly before any stirring occurs.
Are there other classic Mexican soups or meatball recipes worth trying?
Caldo de Res, Caldo Tlalpeño, and Sopa de Fideo all offer other classic, brothy Mexican soup directions worth exploring. Juicy Beef Meatballs is worth trying for a different, non-soup meatball preparation, and Mexican-Style Rice makes a good addition alongside this soup for a fuller meal.
Nutrition Facts
( per serving )
Calories
~520 kcal
Protein
34 g
Fat
26 g
Carbs
36 g
Calories
~520 kcal
Protein
34 g
Fat
26 g
Carbs
36 g
Related Recipes
Related Recipes
You might also like
You might also like

Sopa de Albóndigas
Ingredients
Method
- Add the ground beef, rinsed rice, egg, finely minced onion, grated garlic, cilantro, mint, salt, black pepper, oregano, and water to a bowl. Mix gently with your hands just until evenly combined. Do not knead or compact the mixture. Shape into 16 small meatballs, about 45–50g each, and set aside on a tray. The mixture should feel cohesive enough to hold its shape, but still soft. Overmixing makes the meatballs dense and tough. Ground meat’s proteins tighten and bind together the more they’re worked — stopping the mixing the moment everything is evenly distributed, rather than continuing for a smoother-looking mixture, is what keeps the finished meatballs tender rather than dense.
- In a blender, combine the roughly chopped onion, garlic, tomatoes, and about 250ml of the broth. Blend until fully smooth. Heat the oil in a large pot or Dutch oven over medium heat. Add the blended tomato mixture carefully and cook for 8–10 minutes, stirring often, until it darkens slightly, thickens a little, and loses its raw tomato smell. Stir in the tomato paste if using, then add the oregano, cumin, bay leaves, salt, a few grinds of black pepper, and the remaining broth. Bring to a gentle simmer. The tomato base should smell savory and cooked, not sharp or raw. This step gives the broth its depth. This active cooking stage is what actually transforms the blended purée from something tasting distinctly raw into a genuine, developed broth base — that transformation doesn’t happen automatically once the remaining broth dilutes it, which is why real cooking time here matters before moving forward.
- Add the carrots and potatoes to the simmering broth. Cook for 10 minutes at a gentle simmer. The broth should be simmering gently, not boiling hard. A violent boil can break the meatballs later. Establishing this gentle simmer now, before the meatballs are even added, sets the pace the rest of the cook needs to maintain — the meatballs about to go in have essentially no tolerance for the aggressive agitation a hard boil would introduce.
- Lower the heat slightly if needed so the soup is only gently bubbling. Carefully drop the meatballs into the broth one by one. Once all are in, do not stir aggressively for the first 8–10 minutes. Gently shake the pot occasionally if needed. Simmer for 15 minutes. The meatballs should begin to firm up and hold together as the rice and proteins set. If stirred too early, they can break apart. Meatballs added directly to hot liquid start out genuinely fragile — their proteins and rice need this initial, undisturbed window to set and firm up before they can withstand any real agitation, which is exactly why aggressive stirring is specifically avoided in this early stretch.
- Add the zucchini and continue simmering for another 10 minutes, or until the meatballs are fully cooked through, the rice inside the meatballs is tender, the potatoes and carrots are tender, and the zucchini is just cooked but not mushy. Taste the broth and adjust salt and pepper as needed. Remove the bay leaves. The final broth should be bright red and savory, the meatballs tender, and the vegetables fully cooked but still holding their shape. Adding the zucchini only in this final stage, well after the denser carrot and potato, protects it from the extra simmering time that would otherwise push it toward collapsing before the rest of the soup is ready.
- Ladle the soup into bowls, making sure each serving gets broth, vegetables, and 4 meatballs. Top with chopped fresh cilantro and serve with lime wedges on the side. Serving the lime as a wedge for squeezing at the table, rather than added into the pot, lets each bowl receive that bright citrus lift at its freshest, right before the first spoonful.






