Ropa vieja is a classic Cuban dish of beef braised until tender, shredded, and simmered with peppers, onions, tomatoes, garlic, and olives. Its savory tomato-and-spice sauce makes it a satisfying centerpiece over rice, though Cuban family recipes vary in their choice of beef, wine, and seasonings.
Ingredients
- 2½ lb (1.13 kg) flank steak, trimmed of any thick surface fat
- 2 tsp (10 ml) fine salt, divided
- ½ tsp (1 g) ground black pepper
- 2 tbsp (30 ml) neutral oil, such as canola
- 1 large yellow onion, about 10 oz (280 g), thinly sliced
- 1 large green bell pepper, about 7 oz (200 g), thinly sliced
- 4 garlic cloves, about 20 g, finely chopped
- 1 tsp (2 g) ground cumin
- 1 tsp (1 g) dried oregano
- 2 tbsp (30 g) tomato paste
- ½ cup (120 ml) dry white wine
- 3 cups (710 ml) low-sodium beef broth
- 1 cup (240 ml) plain tomato sauce
- 2 bay leaves
- ½ cup (75 g) pimiento-stuffed green olives, halved
- 1 tbsp (15 ml) olive brine, or to taste
- 1 tbsp (15 ml) fresh lime juice
- ¼ cup (10 g) chopped fresh cilantro, optional
Instructions
- Prepare the ingredients. Slice the onion and pepper, chop the garlic, and measure the seasonings and liquids before cooking. Pat the steak dry with paper towels and season both sides with the black pepper and 1 teaspoon of the salt. Keeping the vegetables and seasonings ready makes the stovetop steps easier, since the aromatics cook quickly once they hit the hot pot.
- Brown the beef. Heat the neutral oil in a large, heavy Dutch oven over medium-high heat. When the oil shimmers, add the steak. Brown it for about 5 minutes on the first side and 5 minutes on the second, turning once; work in batches if the meat does not fit without crowding. Browning adds savory flavor to the eventual sauce. Transfer the steak to a plate. It will finish cooking during the braise.
- Soften the vegetables. Lower the heat to medium and add the onion and green pepper to the pot. Cook for 8 minutes, stirring occasionally and scraping up the browned bits. The vegetables should soften but do not need to become deeply browned. If the bottom looks dry or the vegetables begin to stick, add a tablespoon of broth rather than increasing the heat.
- Build the sauce. Stir in the garlic, cumin, oregano, and remaining 1 teaspoon of salt; cook for 1 minute, just until fragrant. Mix in the tomato paste and cook for another minute. Pour in the white wine and simmer for 2 minutes, scraping the bottom of the pot so the browned flavor dissolves into the liquid. Add the beef broth, tomato sauce, and bay leaves, then stir to combine.
- Braise until tender. Return the steak and any juices on the plate to the pot. Bring the liquid to a gentle simmer, cover, and lower the heat so it barely bubbles. Cook for 2 hours and 15 minutes, turning the steak once about halfway through. Check occasionally: the liquid should simmer softly, not boil hard. At the end, the beef should be tender enough to pull apart with a fork. Check the thickest part with a food thermometer: USDA FSIS sets 145°F (63°C) with a 3-minute rest as the safe minimum for a whole cut of beef; this longer braise is needed for the tender, shreddable texture of ropa vieja. Keep the pot covered and continue cooking in 15-minute increments if the meat is still tough.
- Rest and shred the beef. Turn off the heat and leave the steak in the hot liquid for 3 minutes. Lift it onto a cutting board and use two forks to pull it into long, thin strands, following the grain to separate the fibers. Discard any large pieces of fat and the bay leaves. If the beef resists shredding, return it to the pot and braise it longer rather than trying to force it apart.
- Finish the ropa vieja. Return the shredded beef to the pot and stir it through the sauce. Add the olives and olive brine, then simmer uncovered over low heat for 15 minutes, stirring occasionally. The sauce should cling to the strands without drying out. Stir in the lime juice, taste, and adjust the salt or brine as needed. Scatter cilantro over the top if using, and serve hot.
Tips
- Choose a cut that shreds well. Flank steak is a common choice for ropa vieja because it separates into long fibers when pulled with the grain. If it is unavailable, use a similar-weight boneless chuck roast; it has more connective tissue and may need extra braising time before it becomes fork-tender.
- Keep the braise gentle. A hard boil can make the beef cook unevenly and cause the liquid to reduce too quickly. Look for occasional small bubbles, and add a little broth if the pot is getting dry. A covered, low oven at 300°F (150°C) is another option if your stovetop cannot maintain a steady gentle simmer.
- Balance the olives thoughtfully. Pimiento-stuffed green olives and their brine give the sauce its salty, tangy edge. Taste before adding more salt at the end, especially if your broth or olives are already salty. If you cannot find stuffed olives, use plain green olives and omit the pimiento; the result will be a little less sweet and colorful.
- Let the beef become genuinely tender. Beef that is cooked through but still difficult to pull apart needs more time, not a higher flame. Keep the lid on and check every 15 minutes. Shredding across the grain can also make the finished strands seem shorter and less tender than shredding with it.
Serving Suggestions
Serve ropa vieja hot over steamed white rice so the grains catch the tomato, pepper, and olive sauce. For a traditional Cuban-style plate, add black beans and fried sweet plantains, known as maduros. A simple cabbage or avocado salad gives the meal a fresh contrast, while warm Cuban bread is useful for scooping up any sauce left on the plate.
If you are serving several people, put the rice and sides on the table separately and spoon the beef into a warm serving bowl with plenty of sauce. The recipe is filling, so a modest portion of beef alongside a generous scoop of rice and beans works well. You can also tuck the shredded beef into toasted Cuban bread for a sandwich, adding a little extra sauce but not so much that the bread becomes soggy.
Variations
Ropa vieja has regional and family variations rather than a single fixed ingredient list. Some cooks use flank steak, while others prefer chuck or another braising cut. Some add sliced red bell pepper alongside the green pepper, or use a mixture of colors for a sweeter, more colorful sauce. For a milder, less briny finish, reduce the olives to ¼ cup (38 g) and leave out the olive brine.
Dry white wine is included here for flavor, but you can replace it with the same amount of beef broth. The sauce will lose the wine’s light acidity and aroma, so finish with an extra teaspoon of lime juice if it tastes flat. For a richer, slightly different profile, replace ½ cup (120 ml) of the beef broth with unsalted chicken broth. If you prefer a thicker sauce, simmer the finished dish uncovered for a few extra minutes; avoid adding flour, which changes the character of the tomato-based sauce.
Storage and Reheating
Refrigerate the beef within 2 hours of cooking in a shallow, covered container. It keeps for 3–4 days in the refrigerator. Store it with its sauce so the strands stay moist. For longer storage, freeze it in meal-sized airtight containers for up to 3 months for best quality, then thaw overnight in the refrigerator. Do not leave cooked beef at room temperature for extended storage.
Reheat a portion in a covered saucepan over medium-low heat, stirring occasionally and adding a splash of broth or water if the sauce has thickened. Heat until steaming throughout and 165°F (74°C) on a food thermometer; USDA FSIS recommends reheating leftovers to that temperature. You can also microwave it in a covered, microwave-safe dish, stirring halfway through and checking the center with the thermometer. Reheat only the amount you plan to serve.
Frequently Asked Questions
Can I make ropa vieja without a Dutch oven?
Yes. Brown the steak and soften the vegetables in a heavy skillet, then transfer everything to a covered oven-safe casserole dish. Add the liquids, cover tightly, and braise at 300°F (150°C) until the beef shreds easily. Check the liquid during cooking and add broth if it is reducing too much.
Can I make this recipe ahead?
Yes. Cook and shred the beef, then refrigerate it promptly with the sauce. The flavors often meld as it rests, and you can reheat it gently before serving. Follow the storage guidance above, and bring leftovers to 165°F (74°C) when reheating.
Why is my beef still tough after braising?
It likely needs more time. Toughness at this stage usually means the connective tissue has not softened enough for the strands to separate. Keep the pot covered at a gentle simmer and check again in 15-minute increments. A vigorous boil is not a shortcut and can make the sauce reduce before the meat is tender.
What can I use instead of flank steak?
Boneless chuck roast is a practical substitute and works well for slow braising, though its fibers may be shorter and it can take longer to soften. Choose a piece close to the recipe’s weight and start checking for tenderness at the stated time. The important cue is that it pulls apart easily with forks.
Is ropa vieja spicy?
This version is savory rather than hot, with warmth from cumin and the tang of olives. To add heat, serve sliced fresh chile or hot sauce on the side so each person can adjust their portion. Avoid adding a lot of chile early if you want to keep the flavor of the olives and tomato prominent.
Can I cook the beef in a slow cooker?
For a slow-cooker approach, brown the beef and cook the vegetables with the aromatics on the stovetop first, then transfer them with the liquids to the cooker. Cook on low until the beef is fork-tender; slow cookers vary, so use tenderness rather than a rigid clock as your guide. Shred the beef, then return it with the olives and simmer until the sauce is well combined.
Related
- Ropa Vieja Recipe: Cuban Shredded Beef
- What Is Typical Cuban Food? Dishes, Flavors & Meals
- Cuban Flan Recipe: Traditional Cuban Caramel Custard
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).