Ingredients
Method
Start the Broth
- Place the beef shank in a large heavy pot. Add the onion, garlic, bay leaves, black peppercorns, cilantro stems, and water. Add the 2 tsp salt. Bring the pot slowly up to a gentle boil over medium heat. As soon as it starts boiling, reduce immediately to a low simmer. Skim the foam and impurities that rise to the surface during the first 20–30 minutes. Simmer uncovered or partially covered for 1 hour 30 minutes, skimming occasionally, until the broth is golden and the beef has started to soften. The broth should be clear and clean-looking, not cloudy. A hard boil will agitate the fat and proteins into the liquid and make the broth muddy, so keep it at a very gentle simmer with only small lazy bubbles. That most concentrated release of foam and impurities happens specifically in these first 20–30 minutes — staying attentive with skimming through that early window is what sets the broth's clarity for the many hours of simmering still to come.
Strain and Clean Up the Broth
- Once the broth has developed good flavor, remove and discard the onion, garlic, bay leaves, peppercorns, and cilantro stems. Taste the broth and add a little more salt if needed. If there is a heavy layer of foam or excess fat, skim lightly, but do not remove all the fat — a little surface richness is part of what makes caldo de res satisfying. The broth should taste distinctly beefy and seasoned, but still delicate and brothy rather than heavy or greasy. Removing these aromatics once their flavour has already been extracted, rather than leaving them in for the full remaining cook, keeps them from becoming waterlogged and mushy while adding nothing further to a broth that's already absorbed what they had to give.
Add the Long-Cooking Vegetables
- Add the corn pieces, carrots, and potatoes to the broth. Simmer for 15 minutes. Then add the chayote and continue simmering for another 10 minutes. These vegetables go in first because they need longer cooking and help flavor the broth further without overcooking the faster vegetables. The potatoes should just be starting to soften at the edges, and the carrots should be yielding slightly but still hold their shape. Working through the vegetables in genuine stages, rather than adding everything together, respects each one's real, individual cooking time — corn, carrot, and potato all need meaningfully longer than the zucchini and cabbage still to come.
Finish with the Quick-Cooking Vegetables
- Add the zucchini and cabbage wedges. Continue simmering for 10–15 minutes more, or until all the vegetables are tender and the beef shank is fully cooked and easy to pull apart with a spoon or fork. Do not overcook at this stage. The zucchini should be tender but not collapsing, and the cabbage should be soft yet still recognizable as a wedge. The final pot should look abundant and structured — not like mixed vegetable soup. Each component should still be visually distinct. Adding these more delicate vegetables only in this final stage, well after the denser ones, is what lets them finish tender in the same window as the rest without turning to mush from spending unnecessary extra time in the simmering broth.
Final Seasoning
- Taste the broth one last time and adjust with more salt if needed. Add a few grinds of black pepper if you like, though traditionally the broth stays quite clean and the lime does much of the brightening at the end. Let the soup sit off the heat for 5 minutes before serving so the broth settles slightly and the flavors come together. The beef should be tender but not shredded to threads, the corn juicy, the potatoes creamy, and the broth warm, golden, and fragrant rather than aggressively seasoned. That brief off-heat rest lets residual heat continue gently working through the pot while everything settles into a more cohesive final balance, rather than serving the soup the instant it comes off active heat.
Serve
- Place one piece of beef shank in each bowl. Divide the vegetables evenly so each bowl gets corn, carrot, potato, chayote, zucchini, and cabbage. Ladle over plenty of clear golden broth. Finish with chopped fresh cilantro and serve with lime wedges on the side. Warm corn tortillas are the most classic accompaniment. Squeeze lime over the soup just before eating. Serving the lime as a wedge to be squeezed at the table, rather than pre-mixed into the broth, lets each person control their own level of brightness right before that first sip, when the citrus is at its most vivid.
Notes
Keeping the broth at a genuine gentle simmer through its full cook, never allowing it to boil hard at any point, deserves real respect as the technique this soup's clarity depends on entirely. A hard boil physically agitates the liquid enough to work fat and proteins directly into the broth — once that emulsification happens, no amount of subsequent skimming fully restores the clean, golden broth this dish is meant to have. The gentle simmer specified throughout protects that clarity for the entire multi-hour cook.
Staging the vegetable additions — corn, carrot, and potato first, chayote following, zucchini and cabbage only near the very end — reflects genuine attention to how differently each vegetable actually behaves under heat. Adding everything at once would force an impossible compromise, either leaving the denser vegetables undercooked or letting the more delicate ones collapse into mush by the time the others finally catch up.
Keeping every piece of beef and vegetable genuinely large, rather than finely diced, is worth understanding as a deliberate choice about this soup's whole character, not simply a matter of presentation. Caldo de res is meant to feel rustic and generous, with every component still clearly recognisable as itself in the finished bowl — smaller, finer pieces would push the dish toward something closer to a blended, homogenous soup rather than this specific, chunky, structured style.
Not removing all the surface fat when skimming, and instead leaving a modest amount of richness, is a small but genuine detail worth respecting. That surface fat contributes real satisfaction and body to the finished broth — over-skimming in pursuit of a leaner result would actually work against what makes this particular soup feel properly comforting and complete.
