Caldo de Res (Mexican Beef Soup) is a hearty meal in a bowl that is loaded with beef and vegetables. Using both soup bones and beef shank flavors creates a rich and nourishing bone broth, perfect for when you’re feeling under the weather.

Serve a bowl of this cocido with a lime wedge and homemade salsa for a truly unforgettable meal that is sure to warm you up from the inside out!

caldo de res beef soup in a Mexican blue and white bowl.

When the weather outside is frightful, a bowl of my grandma’s caldo de res (a.k.a. cocido or sopa de res depending on where you are in Mexico) is utterly delightful. This rustic Mexican soup is perfect for when you are chilled to the bones — it’ll warm you up from the inside out!

It does take a bit of time to make, but the method for making this vegetable beef soup is quite simple. Take advantage of your work-from-home situation and get a pot of this on the burner for dinner tonight! 

What is Caldo de Res?

Caldo de res (literally “beef soup”) is a traditional and rustic Mexican beef soup that is loaded with veggies. If you have been feeling under the weather lately, or are just looking for a proactive immunity boost, this yummy beef and vegetable soup is perfect for the job.

By using soup bones, you end up with what is known as a “bone broth,” which has many health benefits. Boasting all kinds of good-for-you traits like improved immunity, joint mobility, and a hefty dose of vitamins and minerals, this soup is a holistic healer’s dream come true.

Adding the vegetables after the beef has cooked retains their bright colors, individual flavors, and just the right amount of crunch. All those pretty hues also carry their own nutritional benefits, making this meal both tasty and nourishing.

Why I Love This Recipe

This was one of my grandma Jesusita’s favorite dishes to prepare on Sundays when all her children would visit after mass. She lived near the Catholic church that most of our family grew up attending, so everyone would drop by after the service. Those were days I will cherish forever — all my tias, tios, and cousins around the table with our beautiful grandma.

This beef soup always had a place on the table and will forever hold a special place in my heart. If you are lucky enough to share a dinner table with your family, I can’t think of a better dish to serve them this winter.

This caldo de res recipe calls for both beef shank and soup bones, cabbage, carrots, celery, potatoes, zucchini, and tomatoes. It is best when slowly simmered for at least two hours with the beef, bones, onion, and garlic so it does take a bit of time to make, but the steps are all very easy. As a matter of fact, there are only 3 easy steps to make it!

overhead shot of caldo de res beef soup in a blue enameled cast iron dutch oven.

Ingredients & Substitutions

  • Soup Bones – Also called “stock bones,” these are the parts that are left over after butchering a cow. While they don’t have enough meat for a full meal, all the collagen and marrow in them contribute to a rich, flavorful, and holistically healing bone broth.
  • Beef Shank Bones – Also called chambarete, this is where the caldo gets all the yummy, beefy flavor we’re after. If you’re unable to find shank bones at the meat counter, bone-in beef ribs or bone-in chuck are acceptable substitutes.
  • Salt – Every dish needs salt!
  • Garlic – Fresh is best, but you can use jarred minced garlic or frozen garlic paste in a pinch.
  • Onion – I typically reach for white onions to make my sopas, but yellow or red will also work.
  • Cabbage – I love the nutty flavor of cooked cabbage. Here I used a head of green cabbage, but red cabbage, savoy cabbage, or Napa cabbage will all do the trick.
  • Carrot – For a touch of sweetness and a bit of color. I generally reach for orange carrots, but purple or white carrots (or even parsnips!) will work beautifully.
  • Celery Stalks – For sweet, earthiness and some crunch.
  • Yukon Gold Potatoes – I love Yukon Gold potatoes for making soup because they hold their shape well and also have a good level of starchiness. You’re welcome to trade in your favorite potatoes if you prefer.
  • Mexican Zucchini – Regular zucchini, yellow squash, chayote or any variety of summer squash can be used instead.
  • Tomatoes – Opt for a meaty variety like Roma tomatoes for the best texture. If fresh tomatoes aren’t looking too good in the produce section, use whole canned tomatoes that you chop into pieces.
  • Corn on the Cob – Big wedges of corn on the cob are traditional in this rustic Mexican beef soup. If you’re more of a delicate eater, you’re welcome to use corn kernels instead, but wait to add them until the last 10 minutes of cooking so they don’t get soggy.
  • Tomato Sauce – For sweetness and acidity, plus a lovely blush tone to the broth.
  • Safflower Petals (Azafran) – These beautiful and flavorful flowers come from the same plant as saffron, so feel free to use them interchangeably in this recipe. If you don’t have either, simply omit them.
  • Whole Coriander Seeds – Using whole spices that you grind yourself ensures that more of the flavorful essential oils remain intact. If you only have ground coriander, feel free to use it instead.
  • Cilantro – For a bright pop of color and herbaceous flavor. If cilantro isn’t your favorite, feel free to swap in lemony parsley instead.
  • Limes – While optional, I find that serving this sopa de res with a wedge of lime brightens the flavor considerably.
beef shank and beef soup bones to make a Mexican beef soup recipe known as caldo de res or sopa de res.

How to Make Caldo de Res

As promised, this beefy caldo soup recipe comes together with just 3 simple steps:

Step 1: Make Bone Broth. In a large stockpot, bring water to a boil over high heat. Add soup bones, shank bones, salt, garlic, and onion, and boil for about 10 minutes. 

boiling pot with beef and onion to make the Mexican beef soup known as cocido.

Step 2: Simmer & Skim. Lower heat to low, cover the pot, and simmer the bone broth for about 2 1/2 to 3 hours, or until the meat on the bones is tender. Skim excess foam off the top as it forms and discard it.

skimming off fat from beef bone broth with a turquoise enamel spoon.

Step 3: Finish Caldo de Res. Add cabbage, carrots, celery, potatoes, zucchini, tomatoes, corn, tomato sauce, safflower petals, coriander seeds, and cilantro. Let it all cook for about 30 minutes, just until potatoes are fork tender, but not mushy. Now you’re ready to serve!

pot of caldo de res with corn, zucchini, beef and bones

More of a visual learner? Watch this video to learn how easy it is to make caldo de res at home.

Optional Variations & Expert Tips

  • Feel free to customize the vegetables you use based on what you have on hand.
  • Make sure to cut the veggies into roughly the same size pieces so they cook evenly.
  • Find soup bones at the butcher counter. While you’re there, have them cut your beef shank into smaller pieces!
  • Anytime you prepare a soup recipe with tougher cuts of meat, you are welcome to cook the meat in a crockpot overnight or a pressure cooker/Instant Pot. In this instance, you’re welcome to make the bone broth (steps 1 & 2) using your slow cooker while you’re away at work. Then, when you get home, skim off the foam and finish the soup on the stovetop.
overhead shot of a pot of Mexican caldo de res beef soup in a blue pot on a white table with a basket of corn tortillas and a lime.

Frequently Asked Questions

What are safflower petals, and do I have to use them?

Azafran (the Spanish word for Saffron) is the stamen of the safflower, while saffron as we know it is the stamen of the crocus. A thistle-like herb with an orange-red color, azafran gives food an orange tinge and imparts a heavenly, aromatic flavor to the soup.

If you are unable to source azafran, you can substitute saffron threads. Feel free to omit, if you do not have either.

How to serve this Mexican beef soup?

I love serving caldo de res with Mexican ricesalsa casera, and lime wedges on the side. Oh, and don’t forget the corn tortillas! If you are short on time or energy, though, this soup offers more than enough flavor and nutrition without the added sides. 

How should I store leftovers?

You’re welcome to keep caldo de res in a container in the fridge for up to 5 days or freeze it for up to 3 months. Caldo de res freezes well in these plastic containers. I suggest making an extra big batch and freezing some for later — homemade soup comes in very handy when you are not feeling well and need comforting.

More Cold-Weather Dinner Inspiration:

Check out some of my other favorite soups and stews: 

If you made this Caldo de Res recipe, please rate and review it below. I’d love to know how it turned out for you!

If you’d like to see what I’m up to in the kitchen, follow me on Instagram, Pinterest, or Facebook to witness my adventures in the kitchen on a daily basis. You can also subscribe to my YouTube channel or sign up for my email list to get all of my newest recipes delivered straight to your inbox. 

blue enamel dutch oven filled to the brim with finished caldo de res beef soup

Caldo de Res (Mexican Beef Soup)

4.71 (27 ratings)
This sopa de res is a hearty meal in a bowl that is loaded with beef and vegetables. Using both soup bones and beef shank flavors creates a rich and nourishing bone broth, perfect for when you're feeling under the weather. Serve a bowl of this cocido with a lime wedge and homemade salsa for a truly unforgettable meal that is sure to warm you up from the inside out!

Ingredients

  • 11 cups water
  • 1 1/2 pounds soup bones
  • 1 1/2 pounds beef shank bones, cut into 3 or 4 pieces
  • 1 tablespoon salt
  • 3 cloves garlic, chopped
  • 1/2 white or yellow onion, cut in 1-inch squares
  • 1/2 head cabbage, chopped
  • 1 large carrot, sliced
  • 2 celery stalks, sliced
  • 2 Yukon Gold potatoes, peeled and cubed
  • 2 Mexican zucchini, sliced
  • 2 tomatoes, chopped
  • 1 fresh corn on the cob, cut into 1-inch slices
  • 1/4 cup tomato sauce
  • 1/4 tsp safflower petals, azafran
  • 1/4 tsp whole coriander seeds, crushed
  • 3 tbsp cilantro, chopped
  • 3 limes, cut into wedges (optional)

Instructions 

  • Over high heat in a large stockpot, bring water to a boil.
  • Add soup bones, shank bones, salt, garlic, and onion and boil for about 10 minutes. Lower heat to low, cover pot, and simmer for about 2 1⁄2 to 3 hours or until meat on bones is tender. Skim excess foam off the top as it forms and discard.
  • Add cabbage, carrots, celery, potatoes, zucchini, tomatoes, corn, tomato sauce, safflower petals, coriander seeds, and cilantro. Let it all cook for about 30 minutes, until potatoes are soft but not mushy.

Video

Notes

  • For a real feast, serve this sopa de res with Mexican ricesalsa casera, and lime wedges on the side, and don’t forget the corn tortillas!
  • If you’re feeling low-energy, it is delightful all on its own, preferably with a squeeze of fresh lime juice or a shot of vinegary hot sauce for brightness and acidity.
  • Prepared soup can be refrigerated for up to 5 days or frozen for up to three months.
  • Anytime you prepare a soup recipe with tougher cuts of meat, you could cook the meat in a crockpot overnight or pressure cooker/Instant Pot (cover with plenty of water). Then, finish it on the stovetop.
Calories: 113kcal, Carbohydrates: 26g, Protein: 5g, Fat: 1g, Saturated Fat: 1g, Sodium: 978mg, Potassium: 806mg, Fiber: 8g, Sugar: 10g, Vitamin A: 1861IU, Vitamin C: 91mg, Calcium: 120mg, Iron: 3mg

Originally published: January 2017 
This recipe is also published in the Muy Bueno cookbook.