Ingredients
For the Broth
- 2½ lbs beef shank or bone-in beef stew meat
- 10 cups water
- 1 large yellow onion, quartered
- 4 cloves garlic, smashed
- 2 teaspoons kosher salt
- 1 teaspoon freshly ground black pepper
- 2 bay leaves
For the Vegetables
- 3 medium carrots, cut into chunks
- 3 medium potatoes, peeled and cut into chunks
- 2 ears corn, cut into thick rounds
- 2 medium zucchini, cut into thick pieces
- 2 celery stalks, sliced
- ½ small head cabbage, cut into wedges
- 2 medium tomatoes, chopped
- 1 jalapeño, sliced, optional
- ¼ cup fresh cilantro, chopped
- 1 lime, cut into wedges
A few notes on ingredient choices: beef shank is the traditional cut for Caldo de Res because of its rich marrow and connective tissue, which slowly melt into the broth over hours of simmering, creating that signature deep flavor and slightly rich mouthfeel. If beef shank isn’t available, bone-in short ribs or a combination of stew meat and marrow bones can achieve a similar effect. Quartering the onion and smashing the garlic, rather than chopping them finely, makes it easy to remove them from the broth later, leaving behind their flavor without leaving stray pieces throughout the finished soup.
Instructions
Place the beef shank or stew meat in a large stockpot and add the water, onion, garlic, salt, black pepper, and bay leaves. Using a large enough pot matters here — you want plenty of room for the beef, vegetables, and broth to come together without overcrowding.
Bring the mixture to a boil over medium-high heat. As it comes to a boil, foam and impurities will rise to the surface — skim these off with a spoon or fine-mesh skimmer. This step is important for achieving a clear, clean-tasting broth rather than one that’s cloudy or has an off flavor.
Reduce the heat to low, partially cover the pot, and simmer for 1½ to 2 hours, or until the beef is tender and the broth is rich and flavorful. This slow simmer is where the magic happens — the connective tissue in the beef breaks down gradually, tenderizing the meat while enriching the broth with deep, savory flavor.
Remove the onion, garlic, and bay leaves from the broth. By this point, they’ve fully released their flavor into the broth, and removing them keeps the final soup clean and focused on the beef and fresh vegetables you’re about to add.
Add the carrots, celery, potatoes, and corn to the pot. These heartier vegetables need a bit more time to become tender, so they go in first.
Simmer for 15 minutes, allowing the vegetables to begin cooking while the beef continues to tenderize further in the flavorful broth.
Add the zucchini, tomatoes, cabbage, and jalapeño, if using. These more delicate vegetables cook faster than the carrots and potatoes, so adding them later prevents them from turning mushy or falling apart.
Continue simmering for 15 to 20 minutes, or until the vegetables are tender but still hold their shape. You want every vegetable to be easy to bite into without being overcooked or losing its distinct texture.
Taste the broth and adjust the salt and black pepper as needed. Since the broth has been building flavor for hours at this point, this is the moment to fine-tune the seasoning to your taste before serving.
Stir in the fresh cilantro just before serving. Adding it at the very end preserves its bright, fresh flavor and vibrant color, rather than letting it wilt and lose its punch from extended cooking.
Ladle the hot Caldo de Res into large bowls, making sure each serving gets plenty of tender beef, vegetables, and flavorful broth. Serve with fresh lime wedges, warm corn tortillas, chopped cilantro, sliced avocado, or your favorite salsa.