This post may contain affiliate links. See my disclosure policy.
Ropa Vieja, or Cuban shredded beef, is a classic dish made with tender beef simmered in a rich sauce of tomatoes, peppers, onions, garlic, and olives. The name translates to “old clothes” in Spanish because the shredded meat resembles a pile of torn fabric, but do not let the name fool you – it’s absolutely delicious!

Table of Contents
This Cuban style ropa vieja is warm, comforting, saucy, and one of my favorite dinners to make for chilly winter evenings. This version uses flank steak, a traditional choice, and a straightforward two step method to produce ultra tender meat and a deeply flavorful sauce. Serve it with rice, black beans, and plantains, or use it anywhere you would normally use shredded beef.
One Pot, or Two?
Traditional ropa vieja can be made either way.
In the classic “boil then braise” style, the beef is first simmered in water or broth with aromatics until tender, then removed and shredded. Separately, a sofrito (onions, peppers, garlic, tomato, and spices) is cooked in another pot. The shredded beef and some of the reserved cooking liquid are then added to the sofrito to finish the dish.
In the one pot braise style, the beef is seared first, then the sofrito is built in the same pot. Liquid is added, and everything is braised together until the meat is tender enough to shred. This true one pot version is also traditional and is how many Cuban and Latin American home cooks prepare ropa vieja today.
I prefer to simmer the beef in one pot and build the sofrito/sauce in another. The tradeoff is an extra pot, but you get a cleaner, more balanced finished dish with better texture. It also lets me cook the beef and broth ahead of time, then quickly finish the dish later.
Ropa Vieja Ingredients
Like many traditional dishes, ropa vieja looks a little different depending on where it is made and who is cooking it. Versions from Cuba, the Canary Islands, and across Latin America can include everything from potatoes and chickpeas to different cuts of beef. The ingredients below reflect classic Cuban style ropa vieja made with flank steak, tomatoes, peppers, and olives.

- Beef: Flank steak (or another good shredding cut like chuck roast)
- Aromatics: Yellow onion, garlic cloves
- Peppers: Red and green bell peppers
- Tomato base: Tomato sauce or crushed tomatoes, plus tomato paste to thicken
- Liquid: Beef broth, reserved beef cooking liquid, and wine or vinegar
- Fat: Olive oil
- Spices and herbs: Ground cumin, dried oregano, smoked or sweet paprika, bay leaves, salt, and black pepper
- Briny finish: Manzanilla olives and, if you like, capers
- Acid and balance: Dry white wine or vinegar, plus a little sugar if needed to balance the tomatoes
Best Beef for Ropa Vieja
Flank steak is the most traditional cut for ropa vieja and my first choice for this recipe. It has long muscle fibers that become tender and shred easily after slow cooking, which gives you those classic long strands of beef.
You can also use other good shredding cuts like chuck roast or brisket. Whatever you choose, look for a well marbled piece of beef and plan on cooking it low and slow until it is tender enough to pull apart with a fork.
How to Make Ropa Vieja
Ropa vieja is cooked in two main stages: first you simmer the beef until it is tender enough to shred, then you finish it in a rich tomato and pepper sauce.
- Simmer the beef – Season the flank steak with salt and pepper. Place it in a large pot with water or broth, onion, garlic, bay leaves, and a pinch of salt. Bring to a boil, then reduce the heat and simmer gently until the beef is very tender and shreds easily with a fork, about 2 hours or so.


- Shred the beef – Carefully remove the steak from the pot and let it cool before shredding. Strain the broth into a clean jar and reserve it for later use.

- Cook the sofrito – In a large skillet or Dutch oven, heat a bit of olive oil over medium heat. Add the onions and bell peppers and cook until softened. Stir in the garlic and cook until fragrant.

- Build the sauce – Add the tomato paste (optional), cumin, oregano, paprika, salt, and pepper. Cook for a minute or two, stirring often.

- Finish the sauce – Pour in the tomato sauce, dry white wine or a splash of vinegar, and beef broth (or reserved cooking liquid from the beef). Bring to a gentle simmer, and cook for about 15 minutes. Add the olives.

- Add the beef and olives – Stir the shredded beef into the sauce. Mix well so the meat is evenly coated.

- Simmer to meld flavors – Let the ropa vieja simmer on low heat for 15 to 20 minutes, stirring occasionally, until the sauce thickens slightly and the flavors come together. Taste and adjust seasoning with more salt, pepper, or acidity as needed.

What to Serve with Ropa Vieja
Ropa vieja is a versatile main dish that pairs well with a variety of simple sides, plus leftovers are easy to repurpose into new meals. Here are some of my favorite ways to serve it:
- Rice and beans: The classic combo. Serve over steamed white or yellow rice with black beans or pinto beans on the side. Add fried sweet plantains (maduros) or tostones for a traditional Cuban style meal.
- In rice bowls: Spoon over rice and top with avocado, shredded cabbage, cilantro, and lime.
- Tacos or burritos: Use the shredded beef as a filling with warm tortillas, cheese, onions, and salsa.
- Potatoes: Serve over roasted potatoes or crispy French fries to soak up the sauce. Mashed potatoes are also delicious.
- Leftovers: Pile leftovers onto toasted rolls with a little cheese for an easy hot sandwich. Or, reheat and serve with fried or scrambled eggs for a hearty breakfast or brunch.

Ropa Vieja FAQ
Ropa vieja is a traditional Cuban dish made with shredded beef cooked in a tomato and pepper sauce with onions, garlic, olives, and warm spices. The name means “old clothes” in Spanish because the shredded meat looks like a pile of torn fabric.
Yes. A one pot braise, where you sear the beef, build the sofrito in the same pot, add liquid, and cook until the meat is tender, is also a traditional way to make ropa vieja. If you prefer fewer dishes, you can absolutely adapt this recipe to a one pot style.
You can cook the beef in a slow cooker or Instant Pot, then finish it on the stove in the tomato and pepper sauce. For the slow cooker, cook the beef on low for 8 to 10 hours or high for 4 to 5 hours. For the Instant Pot, cook on High Pressure for about 60 to 70 minutes with a natural release.
Yes. Ropa vieja actually tastes even better the next day as the flavors have more time to meld. Make it up to 2 days ahead, cool completely, and refrigerate in an airtight container, then reheat gently on the stove before serving.
Storage Tips
Ropa vieja keeps really well, which makes it great for meal prep and leftovers.
- To store: Let leftovers cool to room temperature, then transfer to an airtight container. Refrigerate for up to 4 days.
- To reheat: Reheat gently in a saucepan over medium low heat with a splash of water or broth, stirring occasionally, until hot. You can also microwave in short intervals, stirring in between, until warmed through.
- To freeze: Ropa vieja freezes really well. Cool completely, then transfer to a freezer safe container or zip top bag, removing as much air as possible. Freeze for up to 3 months. Thaw overnight in the refrigerator before reheating.

More Cuban Inpired Recipes
If you make this ropa vieja recipe, I’d love to hear what you think! Please leave a comment and a star rating below, your feedback helps other readers discover (and enjoy) this recipe too. Thank you so much! 💛

Ropa Vieja Recipe
Ingredients
Steak Ingredients
- 3 pounds flank steak
- 2 large white onion, peeled and cut in half
- 3 cloves garlic, peeled
- 2 bay leaves
- 1 teaspoon salt
- 1 teaspoon black pepper
Sauce Ingredients
- 2 tablespoon olive oil
- 1 large white onion, diced
- 1 red bell pepper, seeded and sliced
- 1 green bell pepper, seeded and sliced
- 4 cloves garlic, minced
- 1-2 tablespoon tomato paste
- 1 tablespoon Mexican oregano
- 1 teaspoon ground cumin
- 1 teaspoon paprika
- 1 teaspoon salt
- 1 teaspoon black pepper
- 1½ cups low-sodium beef broth, see notes
- 1 cup dry white wine, or additional broth plus a splash of vinegar
- 1 (15-ounce) can tomato sauce
- 1 cup manzanilla olives
Instructions
- Add the flank steak, onion, garlic, bay leaves, salt, and black pepper to a large pot, filling the pot with enough cold water to cover the steak. Bring it to a boil.
- Once it reaches a boil, immediately reduce the heat to low. Cover the pot with a lid and let it simmer for approximately 2 hours, or until the steak is fork tender.
- Carefully remove the steak from the pot and let it cool before shredding. Strain the broth into a clean jar and save it for later use.
- Add 2 tablespoons of olive oil to a large skillet or Dutch oven set over medium heat. Add the 1 large diced onion, 1 red bell pepper, and 1 green bell pepper to the hot oil and sauté until the vegetables are softened, about 4 minutes. Stir in 4 cloves of minced garlic and cook until fragrant.
- Add 1-2 tablespoons of tomato paste, 1 tablespoon of oregano, 1 teaspoon cumin, 1 teaspoon paprika, 1 teaspoon salt, and 1 teaspoon pepper. Cook for an additional 2-3 minutes, stirring often, until the spices become fragrant.
- Stir in 1½ cups of beef broth, 1 cup of dry white wine (or extra beef broth), and 1 can of tomato sauce. Bring the mixture to a low boil, then reduce the heat to low and simmer for 15 minutes or until the sauce has reduced.
- Add the shredded beef to the sauce along with 1 cup of olives (or 2-3 tablespoons of capers, if using). Mix well so the meat is evenly coated. Cook for an additional 5 minutes or until the beef is heated through.
- Serve with warm yellow or white rice, black beans, and plantains, and garnish with cilantro, if desired.
Notes
- Flank steak is traditionally used to make ropa vieja, but other cuts of meat, such as skirt steak, chuck roast, rump roast, or even brisket, can be used.
- Rather than using store-bought beef broth, sometimes I’ll strain the cooking liquid that was used for cooking the flank steak in the first part of the recipe.
- Keep leftovers stored in an airtight container in the refrigerator for up to 4 days.
- Optional: substitute the manzanilla olives for green olives or 2-3 tablespoons of capers.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.


















how can this be adapted to a Crock-Pot recipe, please and thank you.
Place the sliced onions and bell peppers at the bottom of the slow cooker.
Lay the beef on top of the vegetables.
In a bowl, combine the rest of the ingredients. Mix well and pour over the beef and vegetables in the slow cooker.
Cover and cook on low for 7-8 hours or on high for 4-5 hours, until the beef is tender and easily shredded.
Hoe can I convert this to the instapot?
Converting a traditional Ropa Vieja recipe to the Instant Pot is possible, but I have not tried it personally. Hereโs how you can attempt to adapt the recipe – just make sure your instant pot is big enough:
Sear the Beef:
Set your Instant Pot to the “Sautรฉ” function. Add a little oil to the pot, and when itโs hot, sear the flank steak on both sides until browned. This will add extra flavor. Remove the steak and set it aside.
Sautรฉ the Vegetables:
In the same pot, add a bit more oil if needed, then sautรฉ the sliced onions, bell peppers, and garlic until they begin to soften, about 3-5 minutes.
Add the Remaining Ingredients:
Turn off the “Sautรฉ” function. Place the seared beef back into the Instant Pot. Add the tomato sauce, diced tomatoes, beef broth, white wine (if using), cumin, paprika, bay leaf, salt, and pepper. Give everything a good stir.
Pressure Cook:
Close the Instant Pot lid and set the valve to the “Sealing” position. Cook on “Manual” (or “Pressure Cook”) mode on high pressure for 35 minutes.
Natural Release:
After the cooking time is up, allow the Instant Pot to naturally release pressure for about 10 minutes, then do a quick release for any remaining pressure.
Shred the Beef:
Open the lid and remove the beef to a cutting board. Use two forks to shred the meat. Return the shredded beef to the pot, stir in the olives and capers, and switch to the “Sautรฉ” function to heat everything through for a few minutes.
Serve:
Garnish with fresh cilantro and serve your Instant Pot Ropa Vieja over rice, with black beans, or with fried plantains on the side.
I love how this turned out! Just like my favorite restraunt in little Havana.
I’m so glad to hear thatโit means a lot! Little Havana has some incredible food, so that’s a huge compliment. Thank you for trying the recipe!