Caldo de res is a hearty Mexican beef soup built on bone-in beef shank, corn on the cob, and big chunks of vegetables simmered until the broth turns rich and clear. This recipe walks you through every step, from browning the beef to skimming the broth to timing the vegetables so nothing turns to mush. It's one of those meals that tastes even better the next day, making it a smart make-ahead dinner for a busy week.
Pat the beef shank and short ribs dry and season all sides generously with salt and black pepper. Heat a large stockpot over medium-high heat with a splash of oil and sear the beef in batches until deeply browned, 3-4 minutes per side. Remove to a plate.
Return the seared beef to the pot with any juices from the plate. Add 12 cups of water, the halved onion, garlic cloves, bay leaves, and 2 teaspoons of salt. Bring to a boil, then immediately reduce to a low simmer. Cover partially and let it simmer gently for 30 minutes.
Use a fine mesh skimmer to remove foam that rises to the surface every 10 minutes during the first 30 minutes. Once the broth is clear, cover and continue simmering for another 90 minutes, until the beef is fork-tender and pulling away from the bone.
Add the corn rounds, carrots, potatoes, and chayote squash to the pot. If using, drop in the whole jalapeño or serrano pepper. Cover and simmer for 20 minutes.
Add the zucchini, cabbage wedges, and tomatoes (or tomato paste) to the pot. Simmer uncovered for 10-12 minutes, just until the zucchini and cabbage are tender but still hold their shape. Stir in the chopped cilantro during the last 2 minutes of cooking.
Remove the bay leaves and whole pepper if used. Taste the broth and add more salt if needed. Ladle into large bowls, ensuring each gets beef, broth, and vegetables. Serve immediately with lime wedges, extra diced onion, chopped cilantro, and warm corn tortillas.
Notes
Do not skip the skimming step in the first 30 minutes – it keeps the broth clear instead of cloudy.
Keep the simmer low and gentle rather than a rolling boil, which keeps the beef tender instead of tough.
Cut the dense vegetables larger than you think you need to – they will continue to soften as they sit.
Add the zucchini and cabbage last so they keep some texture instead of turning to mush.
Taste and season in stages rather than all at once at the start.
Swap the beef shank for oxtail or short ribs for a richer, fattier broth.
Use sweet potato or yuca in place of regular potatoes for a slightly different texture.
Add a spoonful of guajillo chile paste to the broth for a deeper, slightly smoky flavor.
Refrigerate leftovers in an airtight container for up to 4 days or freeze for up to 3 months.
Reheat gently on the stovetop, adding a splash of water or broth if the soup has thickened.