Ropa Vieja
intro
Tender shredded beef slow-simmered in a rich, aromatic tomato-pepper sauce, a beloved comforting classic made for shared family meals.
Ingredients
Steps
Pat the 900g flank steak completely dry with paper towels, season all sides with 1 teaspoon of kosher salt and 1/4 teaspoon of freshly ground black pepper. Heat 2 tablespoons of extra-virgin olive oil in a heavy-bottomed Dutch oven over medium-high heat (190°C/375°F pan surface). Once the oil shimmers, add the flank steak and sear for 3–4 minutes per side until deep golden brown on both sides, building a rich fond on the pan bottom. Transfer the seared steak to a clean plate and set aside.
Reduce the heat under the Dutch oven to medium (175°C/350°F), add the remaining 1 tablespoon of olive oil. Toss in the diced 200g yellow onion, 150g green bell pepper, and 150g red bell pepper, sauté for 6–7 minutes until soft and slightly translucent, scraping up the browned fond bits from the pan bottom as you stir. Add the 12g minced garlic, 1 teaspoon ground cumin, 1 teaspoon dried oregano, and 1/2 teaspoon smoked paprika, and cook for 30 seconds until fragrant, taking care not to burn the garlic.
Pour in the 400g crushed tomatoes, 250ml beef broth, 1 tablespoon white wine vinegar, and 1 whole bay leaf, stir to combine, and bring the mixture to a gentle simmer (small, steady bubbles breaking at the surface, not a rolling boil). Return the seared flank steak to the pot, nestling it into the liquid so it is 3/4 submerged. Reduce heat to low (120°C/250°F), cover the Dutch oven with a tight-fitting lid, and simmer for 1 hour 15 minutes, flipping the steak once at the 40-minute mark, until the beef is fork-tender and pulls apart easily.
Once the beef is fully tender, use tongs to transfer it from the cooking liquid to a large wooden cutting board. Let it rest for 5 minutes to allow juices to redistribute, then use two forks to shred the beef against the grain into thin, bite-sized strips, discarding any large pieces of tough fat or silverskin connective tissue.
While the beef rests, keep the sauce in the Dutch oven over low heat, stir in the 60g sliced pimento-stuffed green olives and 18g drained capers, and let it simmer uncovered for 5 minutes to thicken slightly. Taste the sauce and adjust seasoning with the remaining 1/2 teaspoon kosher salt and 1/4 teaspoon black pepper as needed. Add the shredded beef back into the pot, stir thoroughly to coat every strand of meat in the sauce, and let it warm through for 3 minutes, then remove and discard the bay leaf.
Transfer the finished ropa vieja to a warm serving platter, garnish evenly with the 15g of chopped fresh cilantro. Serve hot, paired with traditional sides of fluffy white rice, stewed black beans, and pan-fried sweet plantains for a complete, authentic meal.
Tips
2.Do not rush the simmer step by turning the heat up too high; a low, gentle simmer keeps the beef tender and prevents the acidic tomato sauce from scorching on the bottom of the pot.
3.For deeper, more rounded flavor, you can refrigerate the finished ropa vieja in an airtight container for up to 3 days; the spices meld and the taste improves dramatically when reheated gently the next day.

OMG this tasted exactly like my abuela’s ropa vieja! I was so nervous I’d mess it up since hers is legendary, but the spice blend was spot on. Served it with white rice and fried plantains for our Sunday family dinner and everyone went back for seconds. SO good, will be making this monthly for sure!
Total game changer for weeknight meal prep! I made a big batch on Sunday, shredded the beef, portioned it out with rice and black beans, and it reheated perfectly all week. My kids loved it, even my super picky 7 year old who usually turns up his nose at anything that isn’t chicken nuggets. I used my enameled dutch oven and it was fall-apart tender right at the 1 hour 45 minute mark for me, no extra time needed.
Wait, I followed the recipe exactly but my beef came out a little tough? Did I do something wrong? I used flank steak like it said, seared it first, simmered on low for the full time, but it was still chewy. Flavor was amazing though, just the texture was off. Wondering if my stove runs too hot?
Brought this to my office potluck last week and people were literally coming up to me asking for the recipe before I even left! I added a little extra bell pepper because I love that crunch, and served it with a side of tostones. It was the first dish completely gone from the table, even beat out the usual cheesy potato casserole that everyone fights over. 10/10, will be bringing this to every gathering from now on.
So happy this recipe is naturally gluten free! I have celiac and so many ropa vieja recipes sneak in soy sauce or weird thickeners that make me sick, but this one uses just tomato, spices, and broth (I used my trusted GF beef broth, obviously). The flavor is so rich, you don’t miss any of the filler at all. Served it over cauliflower rice for a lower carb dinner and it was chef’s kiss.
Made this for my wife’s birthday dinner since she’s been craving Cuban food ever since our trip to Key West earlier this year. Let me tell you, she teared up a little because it tasted just like the little spot we ate at every day on vacation! I paired it with moros y cristianos and a side of mojitos, 10/10 date night meal. Only tiny complaint: my kitchen smelled like garlic and cumin for 3 days after, worth every single second though.
First time making a braised beef dish ever, and I was shocked how easy this was to follow even as a total beginner! I only have a cheap stock pot from the campus grocery store, no fancy dutch oven, and it still turned out incredible. My roommates devoured half the pot in 10 minutes, kept saying I should open a food truck or something lmao. Definitely adding this to my rotation of cheap, filling meals that feed a crowd. Only knocked a star because I had to run to three different stores to find sazón, but that’s more of a small college town problem than the recipe’s fault.
I was skeptical about a Cuban beef recipe since I’m used to Texas-style smoked brisket, but man this blew me away. The blend of cumin, oregano, and that little hit of vinegar from the olives? Unreal. I threw a small chipotle in adobo while it simmered for a tiny smoky kick to fit my Texas palate, and it was perfect. Will be making this for my next BBQ cookout as a fun alternative to the usual brisket and ribs.
Ordered ropa vieja from every Cuban spot in Washington Heights and none of them hold a candle to this homemade version! The recipe says medium difficulty, but as someone who only cooks like once a week, I thought it was totally manageable as long as you give yourself enough time. The 1 hour 50 minute cook time is no joke, don’t try to rush it! I tried to turn the heat up at one point to speed it up and had to turn it back down immediately.
This freezes so well! I divided the leftover shredded beef into freezer-safe bags, flattened them out, and stacked them in the freezer. I pulled one out last night for a quick dinner, defrosted it in the microwave, and it tasted just as fresh as the day I made it. Perfect for those nights when you don’t have time to cook anything from scratch. 10/10 for freezer friendly meals.
Made this on a rainy Sunday while I was binging my favorite show, and it was the perfect cozy meal. The prep was only like 15 minutes of chopping veggies, then I just let it simmer on the stove while I watched TV, no constant stirring or anything. Served it with a big dollop of sour cream and some avocado slices, comfort food at its finest. Will be making this every time the weather is gross out.
I’ve tried three different ropa vieja recipes online before this one, and this is by far the most authentic tasting one. The balance of savory, briny, and a little sweet from the bell peppers is exactly what I remember from the Cuban restaurant my grandma used to take me to as a kid. I did add a handful of raisins like my abuela used to, and it added that perfect little pop of sweetness, highly recommend the add-in for anyone who likes that flavor profile.
Taco Tuesday is never going to be the same after this! I shredded the beef extra fine, warmed up some corn tortillas, topped the tacos with cilantro, onion, and a squeeze of lime, and my family lost their minds. We usually do ground beef tacos on Tuesdays, but this is going to be the new monthly special. The only thing I wish the recipe noted was how much this makes— we had enough leftovers for lunch for two days after feeding four people for dinner, which is a win in my book.
Made this for our family game night last weekend, and even my teen who is super into “aesthetic” food thought it was Instagram-worthy (her words, not mine). I served it family style with bowls of rice, beans, plantains, and extra limes so everyone could build their own plate. Super interactive, delicious, and not too fussy to make while I was also setting up the game table. I added a little extra tomato paste because I love a richer, thicker sauce. Knocked a star because it took me 2 hours 10 minutes total because my roast was a little thicker than the recipe called for, but that’s totally my bad for not checking the weight before I left the grocery store.
Okay y’all, I was skeptical about the olives in this, I’m the type to pick olives off every pizza and salad, but I decided to follow the recipe exactly and not skip them. Let me tell you, that briny, salty kick is what makes this dish! It doesn’t taste like olives, it just makes the whole sauce taste deeper and more complex. I’m a total convert now. This is going to be in my regular dinner rotation forever, no cap.