Ropa Vieja is a beloved Cuban classic made with tender, slow-cooked shredded beef simmered in a flavorful tomato-based sauce with onions, peppers, olives, and bold spices like cumin and oregano. It’s rich, comforting, and perfect served over rice.

Ropa Vieja Recipe
Ropa Vieja is one of Cuba’s most iconic comfort foods and one of my personal favorites. Made with tender, slow-cooked shredded beef simmered in a rich tomato sauce with peppers, onions, olives, and warm spices, it’s a dish full of bold, satisfying flavor. Traditionally served over white rice with black beans, it’s a staple at family gatherings and celebrations across Cuban households. The name means “old clothes” in Spanish, inspired by the way the shredded meat resembles torn fabric—but trust me, it tastes like anything but leftovers. And speaking of leftovers, they’re amazing. Turn them into tacos, bowls, or even spooned over crispy fries. If you love Latin-inspired beef recipes like Picadillo, Carnitas and Mexican Beef.

Ingredients You’ll Need
Here’s the ingredients to make this Cuban beef recipe. See recipe card below for exact measurements.
- Beef: I use flank steak which is a lean cut of beef. You can also use skirt steak or chuck beef if you prefer. To help in fit into the pressure cooker, cut it into large pieces.
- Beef Spices: Salt, sazon, dried oregano, garlic powder, cumin, black pepper
- Tomato Paste: You’ll need a whole can of tomato paste to make the sauce.
- Broth: If you don’t have chicken broth, vegetable or beef broth will work too.
- Wine: Choose a good-quality dry white wine.
- Vegetables: Yellow or white onion, green and red bell peppers are traditional. I also added carrots, which is not traditional, but adds great flavor to the broth.
- Garlic: Cut four to six garlic cloves into quarters depending on the size of the cloves and how much garlic you like.
- Olives: Slice a half cup of pitted green olives, this adds a briny pop of flavor to the meat.
- Bay Leaves impart flavor as they simmer in the broth.
- Cilantro: If you don’t like cilantro, don’t fret – it’s optional!
How to Make Cuban Ropa Vieja
Here’s the step-by-step directions. See recipe card below for printable directions.



- Season the beef with salt, Sazón, cumin, oregano, garlic powder, and pepper.
- Tomato Sauce: Whisk the tomato paste, wine, and broth in a medium bowl. If you’re cooking this dish on the stove, use 3 cups of broth – you’ll need more since some of it will evaporate on the stove.
- Sauté: Heat the Instant Pot by setting it on the sauté button. Add the oil and then the onions, bell peppers, and garlic and cook for three to four minutes until softened. Then press cancel. (On the stove, do the same thing but in a large Dutch oven on medium-high heat.)
- Nestle the meat into the onions so half are on the bottom and half above the meat. Add the carrots, olives, bay leaves, and cilantro (if using). Pour the tomato sauce over the mixture.
- Instant Pot Ropa Vieja: Put the lid on the pressure cooker and cook on high for 45 minutes. Once done, unplug the pot and do a natural release.
- Stove Method: Bring the pot to a boil, cover, reduce the heat to low, and simmer until the meat easily shreds. It should take about one and a half to two hours. Add more water if it gets too dry.
- Shred the beef, discard the bay leaves, and top with more cilantro if desired.

Serving Ideas
My cousin has a food truck in Florida and makes this ropa vieja recipe pretty much every day. She serves loaded fries, where she tops fries with this shredded beef, cheese, and all the fixings. I personally prefer traditional ropa vieja served over rice with Cuban style black beans. Some people like it with sweet plantains on the side, but I think a cabbage slaw or avocado is also great. You can also add the meat to tacos, quesadillas, or burritos.
Variations
- Flank Steak Substitutes: Skirt steak or chuck beef will also work but will have more fat.
- Protein: I have made this ropa vieja recipe with chicken thighs instead of beef.
- Wine: If you don’t like cooking with wine, sub more broth.
- Bell Peppers: Feel free to use whichever color bell peppers you have.
- Other Ingredients: You can also add capers and raisins.
Storage
Ropa vieja will last for up to 4 days in the refrigerator. After that, if you still have leftovers, freeze it in an airtight container for up to 3 months. To thaw, put it in the fridge the day before and reheat it in the microwave or on the stove.

More Cuban Recipes You’ll Love
Ropa Vieja Recipe (Instant Pot or Dutch Oven)

Equipment
Ingredients
Beef Seasoning:
- 2 pounds flank steak, cut into large pieces
- 2 teaspoons kosher salt
- 1 1/2 teaspoons Sazon, or 1 store bought packet Goya or Badia Sazon con culantro & achiote
- 1 teaspoon dried oregano
- 1 teaspoon garlic powder
- 1 1/2 teaspoons cumin
- 1/4 teaspoon black pepper
For the pot:
- 1/2 cup tomato paste, from 1 can
- 1/3 cup dry white wine, or use more broth
- 2 1/2 cups chicken broth
- 1 teaspoon olive oil
- 1 large yellow or white onion, not sweet, sliced
- 1/2 green bell pepper, sliced thin
- 1/2 red bell pepper, sliced thin
- 4-6 garlic cloves, cut into quarters
- 1 large carrot, cut into 1” inch pieces
- 1/2 cup green pitted olives, sliced
- 2 large bay leaves
- 3 tablespoons cilantro, chopped (optional)
Instructions
Instant Pot Method:
- Season the beef with salt, sazon, cumin, dried oregano, garlic powder and black pepper.
- In a medium bowl whisk together tomato paste, white wine and chicken broth.
- Press saute and add the oil in the instant pot, add the onions, bell peppers and garlic. Saute 3 to 4 minutes stirring, until softened then press cancel.
- Nestle the meat into the onions so that half are on the bottom and half are above the meat. Add the carrots, olives and bay leaves (and cilantro, if using).
- Pour the tomato sauce over the meat, cover and close the pressure cooker.
- Set to sealing and cook high pressure for 45 minutes. Then unplug the instant pot and do the natural release.
- Shred the beef in the pot and discard the bay leaves.
- Serve with rice, over bowls, tacos, etc. topped with more cilantro, if desired.
Stove Top Method:
- Season the beef with salt, sazon, cumin, dried oregano, garlic powder and black pepper.
- In a medium bowl whisk together tomato paste, white wine and 3 cups of chicken broth (you’ll need more on the stove with evaporation than the Instant Pot).
- Heat a large Dutch oven and add the oil, onions, bell peppers and garlic. Saute over medium-high heat 3 to 4 minutes stirring, until softened.
- Nestle the meat into the onions so that half are on the bottom and half are above the meat. Add the carrots, olives and bay leaves (and cilantro, if using).
- Pour the tomato sauce mixture over the meat, bring to a boil and cover.
- Reduce heat to low and simmer until the meat shreds easily with 2 forks, 1 1/2 to 2 hours, adding more water if it gets too dry.
- Shred the beef in the pot and discard the bay leaves.
- Serve with rice, over bowls, tacos, etc. topped with more cilantro, if desired.






