I enjoy this recipe because it gives me a complete meal in one pot. I get tender, slow-cooked beef, perfectly softened vegetables, and a broth that is rich without being heavy. I also like how customizable it is, since I can adjust the vegetables and toppings depending on what I have on hand.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
2 lbs bone-in beef shank or NY strip steak, cut in large chunks
2 lbs boneless chuck steak, cut in large chunks
or 4 lbs caldo de res chopped meat mix
12 cups water, plus more as needed
1 tbsp salt
1 whole head of garlic
1/2 large yellow onion, cut in half
1/2 head of cabbage, cut in 4 pieces
1 zucchini, cut in chunks
2 large potatoes, peeled and cut in chunks
2 large carrots, peeled and cut in chunks
2 yellow corn on the cob, cut in pieces
1 chayote squash, seed removed and chopped
1 small cilantro bunch
2 tsp all purpose seasoning
1 serrano pepper, sliced for topping (optional)
lime wedges for topping (optional)
warm tortillas for serving (optional)
white rice for serving (optional)
Directions
I start by chopping the beef into chunks if needed and rinsing it well.
I bring the water to a light boil over medium-high heat and skim off any foam that rises to the surface to keep the broth clear.
I add the garlic and onion and let everything simmer gently for about 1 hour and 30 minutes. I keep the pot mostly covered and add more water if needed.
While the broth cooks, I prepare all the vegetables by peeling and chopping them into large chunks.
After the initial cooking time, I add the carrots, potatoes, corn, chayote, cabbage, and cilantro. I make sure the cabbage is tucked into the liquid so it softens evenly. I let this cook for about 10 minutes.
I then add the zucchini and seasoning, stir everything gently, and cook for another 10 minutes until all the vegetables are tender.
I taste the broth and adjust the salt if needed.
To serve, I ladle the soup into bowls and add toppings like sliced serrano pepper, lime juice, and serve it with warm tortillas or white rice.
Servings and timing
I get about 8 servings from this recipe.
Prep Time: 20 minutes
Cook Time: 1 hour 45 minutes
Total Time: 2 hours 5 minutes
Variations
I sometimes use different cuts of beef depending on what I have available, and I like mixing bone-in and boneless cuts for more flavor. I can also add other vegetables like green beans or squash for variety.
When I want a spicier version, I add more serrano peppers or even a jalapeño into the broth while it cooks. For a lighter version, I reduce the amount of meat slightly and increase the vegetables.
Storage/reheating
I store the soup in airtight containers in the refrigerator for up to 4 days. I find that the flavor becomes even richer the next day.
To reheat, I warm it on the stove over medium heat until hot. I add a bit of water if the broth has reduced too much during storage.
I can also freeze portions for longer storage and thaw them in the refrigerator before reheating.
FAQs
Can I make this soup in advance?
I like making it ahead because the flavors deepen over time. It tastes even better the next day.
Why do I need to skim the foam?
I skim the foam to keep the broth clear and improve the overall flavor and appearance of the soup.
Can I use only one type of beef?
I can use just one cut of beef, but I find that combining different cuts gives a richer and more complex broth.
How do I know when the beef is tender?
I check that the beef is easy to pierce with a fork. After long simmering, it should be very tender.
Can I adjust the vegetables?
I can easily swap or add vegetables based on what I have. The recipe is very flexible and still turns out delicious.
Conclusion
I love how this Caldo de Res brings together simple ingredients into a deeply flavorful and comforting soup. It is hearty, customizable, and perfect for sharing with family. This is one of those recipes I rely on when I want a warm, satisfying meal that feels both traditional and homemade.
The Best authentic Mexican beef soup simmered to perfection with juicy beef, fresh vegetables, and deep savory broth full of traditional flavor.
Author:Ella
Prep Time:20 minutes
Cook Time:1 hour 45 minutes
Total Time:2 hours 5 minutes
Yield:8 servings
Category:Soup
Method:Simmering
Cuisine:Mexican
Diet:Gluten Free
Ingredients
2 lbs bone-in beef shank or NY strip steak, cut into large chunks
2 lbs boneless chuck steak, cut into large chunks (or 4 lbs caldo de res meat mix)
12 cups water (plus more as needed)
1 tbsp salt
1 whole head garlic
1/2 large yellow onion, halved
1/2 head cabbage, cut into 4 pieces
1 zucchini, cut into chunks
2 large potatoes, peeled and chopped
2 large carrots, peeled and chopped
2 yellow corn cobs, cut into 4–5 pieces
1 chayote squash, seeded and chopped
1 small bunch cilantro
2 tsp all-purpose seasoning
1 serrano pepper, sliced (optional)
Lime wedges, for serving
Warm tortillas, for serving (optional)
White rice, for serving (optional)
Instructions
Chop the beef into large chunks and rinse well (skip chopping if using pre-cut mix).
In a large pot, bring water to a light boil over medium-high heat. Skim off any foam that rises to the surface.
Add garlic and onion. Reduce heat slightly and simmer, partially covered, for about 1 hour 30 minutes. Add more water if needed.
While the beef cooks, prepare all vegetables.
After 1 hour 30 minutes, add carrots, potatoes, corn, chayote, cabbage, and cilantro. Ensure cabbage is submerged.
Cook for 10 minutes.
Add zucchini and seasoning. Stir well and cook for another 10 minutes, or until vegetables are tender.
Taste and adjust salt if needed.
Serve hot with lime juice, tortillas, rice, and optional serrano pepper slices.
Notes
Skim impurities early for a clearer broth.
Add water during cooking to maintain desired soup consistency.
Cut vegetables into large chunks to prevent overcooking.
This soup tastes even better the next day as flavors deepen.