Ropa Vieja is a classic Cuban shredded beef dish, slow-cooked with onions, peppers, olives, and a rich blend of spices like cumin and oregano for deep, authentic flavor.
Ropa Vieja Recipe
Ropa Vieja is one of my all-time favorite Cuban dishes! I love serving it over fluffy white rice with black beans on the side. This dish is pure comfort food, perfect for special occasions or family gatherings. The name “ropa vieja” translates to “old clothes” in Spanish, reflecting how the shredded beef looks like torn fabric. Leftovers are fantastic too! You can turn them into tacos, bowls, or even loaded fries. If you enjoy Latin flavors, don’t miss my recipes for picadillo, carnitas, and Mexican beef!
There are so many ways to make Ropa Vieja, and it varies slightly from home to home. My cousin makes it this way, and it’s absolutely delicious! She uses the Instant Pot for convenience, but if you don’t have one, you can definitely make it on the stove—just keep in mind that it will take a bit longer.
Ropa Vieja Ingredients
For the pot:
Beef Seasoning:
How to Cook Ropa Vieja
Instant Pot Method:
1. Season the beef with salt, sazon, cumin, dried oregano, garlic powder, and black pepper.
2. In a medium bowl, whisk together the tomato paste, white wine, and chicken broth.
3. Set the Instant Pot to sauté and add the oil. Toss in the onions, bell peppers, and garlic. Sauté for 3 to 4 minutes until softened, then press cancel.
4. Nestle the beef into the onions, ensuring half is on the bottom and half on top. Add the carrots, olives, and bay leaves (and cilantro, if using).
5. Pour the tomato sauce mixture over the meat, cover, and seal the pressure cooker. Cook on high pressure for 45 minutes. Once done, unplug the Instant Pot and allow for a natural release.
6. Shred the beef in the pot and discard the bay leaves. Serve with rice, in bowls, or in tacos, topped with extra cilantro if desired.
Stove Top Method:
1. Season the beef with salt, sazon, cumin, dried oregano, garlic powder, and black pepper.
2. In a medium bowl, whisk together the tomato paste, white wine, and 3 cups of chicken broth (you’ll need extra for evaporation on the stove).
3. Heat a large Dutch oven and add the oil. Sauté the onions, bell peppers, and garlic over medium-high heat for 3 to 4 minutes until softened.
4. Nestle the beef into the onions, placing half on the bottom and half on top. Add the carrots, olives, and bay leaves (and cilantro, if using).
5. Pour the tomato sauce mixture over the meat, bring to a boil, and cover. Reduce heat to low and simmer for 1 1/2 to 2 hours until the meat shreds easily with two forks, adding more water if it gets too dry.
6. Shred the beef in the pot and discard the bay leaves. Serve with rice, in bowls, or in tacos, topped with extra cilantro if desired.
Serving Suggestions
My friend runs a cozy café in Texas, and she features this ropa vieja recipe on her menu nearly every day! She serves it over loaded nachos topped with shredded beef, cheese, and all the tasty fixings. Personally, I enjoy the classic ropa vieja over rice with black beans. Some people love it with fried plantains, but I think a zesty cabbage slaw or creamy avocado makes a great side too. You can also use the meat in tacos, quesadillas, or burritos for a fun twist!
Variations
Ropa vieja will last for up to 4 days in the refrigerator, making it perfect for meal prep! If you have leftovers after that, just freeze them in an airtight container for up to 3 months. To thaw, simply move it to the fridge the day before and reheat in the microwave or on the stove.
You can also try adding different vegetables like zucchini or mushrooms for extra flavor. Another fun option is to make a ropa vieja stuffed bell pepper or a hearty ropa vieja soup by adding some broth and vegetables!
How to Freeze
When it comes to substitutes, skirt steak or chuck beef can work for this ropa vieja recipe, but they’ll have a bit more fat. I’ve also made it with chicken thighs instead of beef, and it turns out delicious! If you’re not a fan of cooking with wine, just use extra broth. Don’t hesitate to mix and match bell pepper colors based on what you have on hand. You can even add capers and raisins for a unique twist!
More Beef Recipes
Instant Pot or Stovetop Ropa Vieja
Ingredients
For the pot
- 2 1/2 cups chicken broth
- 1/2 cup tomato paste from 1 can
- 1/3 cup dry white wine or more broth
- 1 teaspoon olive oil
- 1 large yellow or white onion sliced (not sweet)
- 1/2 green bell pepper thinly sliced
- 1/2 red bell pepper thinly sliced
- 4-6 garlic cloves quartered
- 1 large carrot cut into 1-inch pieces
- 1/2 cup green pitted olives sliced
- 2 large bay leaves
- 3 tablespoons chopped cilantro optional
Beef Seasoning
- 2 pounds flank steak cut into large pieces
- 2 teaspoons kosher salt
- 1 1/2 teaspoons Sazon or 1 packet of 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
Instructions
Instant Pot Method
- Season the beef with salt, sazon, cumin, dried oregano, garlic powder, and black pepper.
- In a medium bowl, whisk together the tomato paste, white wine, and chicken broth.
- Set the Instant Pot to sauté and add the oil. Toss in the onions, bell peppers, and garlic. Sauté for 3 to 4 minutes until softened, then press cancel.
- Nestle the beef into the onions, ensuring half is on the bottom and half on top. Add the carrots, olives, and bay leaves (and cilantro, if using).
- Pour the tomato sauce mixture over the meat, cover, and seal the pressure cooker. Cook on high pressure for 45 minutes. Once done, unplug the Instant Pot and allow for a natural release.
- Shred the beef in the pot and discard the bay leaves. Serve with rice, in bowls, or in tacos, topped with extra 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 the tomato paste, white wine, and 3 cups of chicken broth (you’ll need extra for evaporation on the stove).
- Heat a large Dutch oven and add the oil. Sauté the onions, bell peppers, and garlic over medium-high heat for 3 to 4 minutes until softened.
- Nestle the beef into the onions, placing half on the bottom and half on top. 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 for 1 1/2 to 2 hours until the meat shreds easily with two forks, adding more water if it gets too dry.
- Shred the beef in the pot and discard the bay leaves. Serve with rice, in bowls, or in tacos, topped with extra cilantro if desired.