0.5cupdry white winesuch as Pinot Grigio or Sauvignon Blanc
1cupbeef brothlow sodium
2tbsptomato paste
2tspground cumin
1.5tspsmoked paprika
1tspdried oregano
0.5tspground coriander
2bay leaves
0.5cuppimento-stuffed green oliveshalved
2tbspcapersoptional but recommended
1tbspapple cider vinegaradded at the end to brighten
2tbspfresh cilantrochopped, for serving
Instructions
Sear the Beef
Preheat your oven to 300°F (150°C). Pat the flank steak completely dry with paper towels and season generously on both sides with salt and black pepper.
Heat olive oil in a large Dutch oven over medium-high heat until shimmering and just beginning to smoke. Add the flank steak and sear without moving for 4–5 minutes until a deep brown crust forms. Flip and sear the other side for another 4 minutes. Transfer the beef to a plate and set aside.
Build the Sofrito
Reduce heat to medium. Add the sliced onion and both bell peppers to the same Dutch oven (do not clean it — you want all that fond). Cook, stirring occasionally, for 8–10 minutes until the vegetables are softened and beginning to caramelize at the edges.
Add the minced garlic and tomato paste. Stir and cook for 2 minutes until the garlic is fragrant and the tomato paste has darkened slightly.
Build the Braising Sauce
Pour in the white wine and scrape up any browned bits stuck to the bottom of the pot with a wooden spoon. Let the wine simmer for 2 minutes to cook off the alcohol.
Add the crushed tomatoes, diced tomatoes with their juices, and beef broth. Stir in the cumin, smoked paprika, dried oregano, coriander, and bay leaves. Season with a pinch of salt and pepper.
Braise the Beef
Nestle the seared flank steak back into the sauce, ensuring it is mostly submerged. Bring the liquid to a gentle simmer on the stovetop, then cover the Dutch oven with a tight-fitting lid and transfer to the preheated 300°F oven.
Braise for 2.5 to 3 hours, until the beef is completely fork-tender and shreds effortlessly. Check at the 2-hour mark — if a fork slides in and pulls apart with no resistance, it is ready.
Shred and Finish
Remove the Dutch oven from the oven. Transfer the beef to a cutting board and remove and discard the bay leaves. Use two forks to shred the beef into long, thin strands while it is still warm — it should fall apart with very little effort.
If the sauce looks too thin, simmer it uncovered over medium heat for 10 minutes to reduce and concentrate. Return the shredded beef to the sauce and stir to combine.
Stir in the halved green olives, capers if using, and apple cider vinegar. Taste and adjust seasoning with salt and pepper. Let everything simmer together for 5 minutes so the beef soaks up the sauce.
Serve over fluffy white rice, garnished with fresh chopped cilantro. Black beans and fried sweet plantains are highly recommended alongside.
Notes
Make ahead: Ropa Vieja is even better the next day. Store cooled leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stovetop with a splash of beef broth. Freezer friendly: Freeze in portions for up to 3 months. Thaw overnight in the fridge before reheating. Cut choice: Skirt steak or beef brisket (flat cut) can be substituted for flank steak. Brisket will need an additional 30–45 minutes of braising time. Instant Pot shortcut: Sear on sauté mode, build the sofrito and sauce, then pressure cook on high for 60 minutes with a 15-minute natural release.