top of page

Ropa Vieja with Black Beans and Rice

Jun 18, 2025
12 min read

Updated: 4 days ago

Ropa Vieja is a dish that rewards patience, and this ropa vieja recipe is my favourite way to make it.


Beef is slowly cooked until its fibres separate into long, tender strands, then combined with peppers, onions, tomatoes, garlic, cumin, and a deeply savoury cooking sauce. Served alongside black beans and fluffy white rice, it becomes a wonderfully generous meal.


The name Ropa Vieja translates to old clothes, a reference to the appearance of the shredded beef. Fortunately, the flavour is considerably more appealing than the name might suggest.


Ropa Vieja should feel generous: tender ribbons of beef tangled with silky peppers, olives tucked into the sauce for little bursts of salt and brine, and enough rich tomato sauce to find its way into the black beans and rice underneath.


TIME

About 4 hours

SERVES

6

LEVEL

Medium


BEFORE YOU START

A deep brown crust on the beef is the start of this sauce, and my Kitchen School lesson on searing shows you how to get it. It takes about five minutes to read.

How to sear meat →

Also useful:

How to cook rice →


Tender Cuban style shredded beef with peppers and tomatoes, served with rice, fried plantains and lime



Why You'll Love It


TENDER RIBBONS OF BEEF

Flank steak braises into long, rustic strands

A SAUCE WITH BALANCE

Sweet peppers and tomatoes, briny olives and a lift of vinegar

A COMPLETE MEAL

Oven-baked black beans and rice to go with it

EVEN BETTER THE NEXT DAY

Perfect make-ahead food


Tested in my kitchen · As seen on TODAY and The Tonight Show · Parade magazine's chef for 10 years · About Chef Jon →


Ropa Vieja with Black Beans and Rice

Serves 6 | Prep: 30 minutes | Cook: about 3½ hours | Total: about 4 hours


Ingredients


For the Ropa Vieja

  • 2 pounds flank steak, cut into 2 or 3 pieces to fit your pot

  • Kosher salt and freshly ground black pepper

  • 4 tablespoons vegetable oil, divided

  • 2 large onions, halved and thinly sliced

  • 2 bell peppers (preferably 1 red and 1 yellow), seeded and thinly sliced

  • 2 anchovy fillets, finely minced

  • 8 garlic cloves, minced

  • 2 teaspoons ground cumin

  • 2 teaspoons dried oregano

  • 1 tablespoon smoked paprika

  • ½ cup dry white wine

  • 1 cup chicken broth

  • 1 (28-ounce) can whole peeled tomatoes, crushed by hand, with their juices

  • 2 bay leaves

  • 1 cup pimento-stuffed green olives, halved

  • 1 teaspoon white wine vinegar, plus more to taste

  • ¼ cup chopped fresh cilantro


For the Black Beans and Rice

  • 3 tablespoons extra-virgin olive oil, plus more for finishing (optional)

  • 1 red bell pepper, finely chopped

  • 1 green bell pepper, finely chopped

  • 1 large onion, finely chopped

  • 7 garlic cloves, minced

  • 1 tablespoon finely chopped fresh oregano

  • 2 teaspoons ground cumin

  • 1 teaspoon smoked paprika

  • 2 bay leaves

  • 1½ cups long-grain white rice

  • 3 (15-ounce) cans black beans, drained and rinsed

  • 2½ cups low-sodium chicken broth

  • 2 tablespoons red wine vinegar

  • Kosher salt and freshly ground black pepper

  • 2 scallions, thinly sliced

  • 2 tablespoons chopped fresh cilantro

  • Lime wedges, for serving


Instructions


STEP 1 OF 7

Brown the Beef

Adjust an oven rack to the middle position and heat the oven to 300°F (150°C). Pat the flank steak dry and season generously on both sides with salt and pepper.


Heat 3 tablespoons of the vegetable oil in a large Dutch oven over medium-high heat. Brown the beef deeply on both sides, 4 to 5 minutes per side, working in batches if needed so the pot isn’t crowded. Transfer to a plate.


You'll know it's right when the beef has a deep brown crust and releases easily from the pot when you go to turn it.


If something's off: if the beef is steaming rather than sizzling, the pot is too crowded. Take a piece out and brown it in a second batch.


STEP 2 OF 7

Build the Sauce

Reduce the heat to medium. Add the remaining 1 tablespoon oil, the onions and the bell peppers. Cook, stirring occasionally, until very soft and beginning to caramelize at the edges, 12 to 15 minutes.


Add the anchovies, garlic, cumin, oregano and smoked paprika and cook, stirring constantly, until intensely fragrant, about 30 seconds.


Pour in the wine and scrape up the browned bits from the bottom of the pot. Simmer until reduced by about half, 2 to 3 minutes.


Add the broth, tomatoes and bay leaves. Return the beef and any juices to the pot and bring to a gentle simmer.


You'll know it's right when the onions and peppers are very soft with a little color at the edges, and the anchovies have melted away completely.


STEP 3 OF 7

Braise

Cover and transfer to the oven. Cook until the beef is exceptionally tender and pulls apart easily with a fork, 2½ to 3 hours.


You'll know it's right when a fork pulls the beef apart with very little resistance. Go by tenderness, not the clock.


STEP 4 OF 7

Start the Black Beans and Rice

About 45 minutes before the beef is done, rinse the rice in a fine-mesh strainer under cold running water until the water runs mostly clear. Drain thoroughly.


Heat the olive oil in a second Dutch oven over medium heat. Add the red and green peppers and the onion and cook, stirring occasionally, until soft and beginning to caramelize, 12 to 15 minutes.


Add the garlic, oregano, cumin, smoked paprika and bay leaves and cook, stirring constantly, until fragrant, about 1 minute.


Add the rice and stir for 1 to 2 minutes to coat the grains in the seasoned oil. Remove from the heat until the beef comes out of the oven.


STEP 5 OF 7

Bake the Rice

When the beef is tender, take it out of the oven and raise the oven temperature to 350°F (175°C).


Return the rice pot to medium heat. Gently stir in the black beans and broth, season lightly with salt and pepper, and bring to a gentle simmer.


Cover tightly and bake at 350°F until the rice is tender and the liquid is absorbed, 25 to 30 minutes.


Let rest, covered, for 5 minutes. Discard the bay leaves, fluff gently with a fork, and fold in the red wine vinegar, scallions and cilantro. Taste and adjust with salt, pepper or a little more vinegar, and finish with a drizzle of olive oil if you like.


Chef Jon's tip: fold the beans in rather than stirring hard. They are already cooked and break easily, and rough stirring makes the rice gummy.


STEP 6 OF 7

Shred and Finish the Beef

While the rice bakes, transfer the beef to a cutting board and discard the bay leaves from the sauce. Let the beef rest for about 10 minutes, then use two forks to pull it with the grain into long, substantial strands.


Set the pot of sauce over medium heat, add the olives, and simmer uncovered until slightly reduced and glossy enough to lightly coat a spoon, 5 to 10 minutes.


Return the shredded beef and any juices to the sauce and fold gently so the beef stays in long strands.


Stir in the 1 teaspoon white wine vinegar, then taste and adjust with salt, pepper or a little more vinegar. The sauce should taste rich and savory with a noticeable brightness. Fold in the cilantro just before serving.


You'll know it's right when the sauce is glossy and clings to the beef instead of pooling around it.


If something's off: if the sauce gets too thick while it reduces, loosen it with a splash of broth.


STEP 7 OF 7

Serve

Spoon the black beans and rice into warm bowls or onto a platter, spoon the Ropa Vieja and plenty of its sauce alongside or over the top, and serve with lime wedges.


Made it? I'd love to see it

Share a photo or ask me a question. I read every one. Enjoyed it? Tap the stars at the bottom of the page to rate it.



The Secret to Ropa Vieja

Ropa Vieja has one of the more peculiar names in the culinary world. Old clothes. Not exactly the sort of description that immediately makes you reach for a knife and fork.


But once you see the finished dish, the name begins to make sense. The beef separates into long, tangled strands, rather like pieces of worn fabric. And beneath that rather unpromising description is one of the most comforting dishes imaginable.


Tender beef. Sweet peppers. Soft onions. Tomatoes. Garlic. And a sauce that develops its flavour slowly, while the kitchen fills with the sort of fragrance that makes people wander in to ask when dinner will be ready.


Why the Cut of Beef Matters

Ropa Vieja is traditionally associated with cuts such as flank steak, and flank steak is what I use here, although other cuts suited to long cooking are also used. The important consideration is the structure of the meat.


Some cuts contain substantial connective tissue and long muscle fibres. When cooked quickly, they can be relatively tough. But when exposed to gentle heat over an extended period, connective tissue containing collagen gradually changes. Some collagen converts into gelatin, contributing tenderness and body to the cooking liquid. At the same time, the meat fibres become easier to separate. That's the transformation we're looking for.


But here's something worth remembering. Long cooking doesn't automatically guarantee juicy meat. Muscle fibres can still lose moisture and become dry if the cooking is excessively aggressive. The aim is a gentle braise, in this recipe a covered pot in a 300°F (150°C) oven, not a pot bubbling like an angry volcano.


Why Browning the Beef Helps

Before the slow cooking begins, I like to brown the beef. Not because browning seals in the juices. It doesn't. But because browning creates flavour.


When the meat's surface becomes sufficiently hot and dry, the Maillard reaction produces a collection of savoury, roasted aromas. Those flavours become part of the finished sauce.


And the browned residue left in the pan is particularly valuable. When liquid is added, in this recipe the white wine, those concentrated flavours can be loosened and incorporated into the cooking broth. It's one of the simplest ways to build depth.


Why Onions and Peppers Need Time

Onions and peppers are essential to the character of Ropa Vieja. And I prefer to give them enough time to soften properly.


As onions cook, their sharpness becomes more mellow. Their natural sweetness becomes more apparent. Peppers contribute fragrance, sweetness, and a lovely vegetable character. Garlic adds savoury depth. Cumin brings warmth. And oregano provides a gentle herbal note. Together, these ingredients create the aromatic foundation of the dish.


But I wouldn't rush them. Twelve to fifteen minutes of patient cooking can make the difference between a sauce that tastes assembled and one that tastes genuinely integrated.


Why Tomatoes Change During Slow Cooking

Tomatoes contribute acidity, sweetness, and savouriness. As the sauce simmers, some water evaporates. The flavours become more concentrated. The sharpness of the tomatoes becomes better balanced by the softened onions, peppers, and meat juices.


This is where tasting becomes important. A little salt may be needed. Perhaps a touch of acidity, which is why this recipe finishes with a splash of white wine vinegar. This version includes green olives, and some versions add capers too, bringing a welcome salty contrast.


But there's no need to add everything simply because it's available. The beef should remain the centre of attention.


Why Shredding the Beef Is So Important

Once the beef is tender, remove it from the cooking liquid and let it rest for about 10 minutes, until it's cool enough to handle safely. Then use two forks to pull it into strands. Shred in the direction of the muscle fibres to create the characteristic long pieces.


Return the beef to the sauce. And this is an important step. The strands have considerably more exposed surface area than the original piece of meat. That allows the sauce to coat and settle between them.


The finished dish becomes wonderfully cohesive. Every forkful contains beef, tomato, peppers, and aromatic cooking juices.


Why Black Beans and Rice Are Such Good Companions

Now for the accompaniments. Black beans provide an earthy, creamy contrast to the rich beef. In this recipe they're baked right in with the rice, along with peppers, onion, garlic, cumin, and bay leaf, which makes them particularly delicious.


White rice provides a more neutral foundation. It absorbs the sauce and balances the stronger flavours. If you'd like to make it on its own, here's how to cook rice.


And the three components work beautifully together. Tender shredded beef. Creamy beans. Fluffy rice. It's a meal built around contrast. And a particularly satisfying one.


Knowing When to Stop Cooking

A good Ropa Vieja should be tender enough to shred easily. But it shouldn't become a dry, stringy mass. The sauce should be rich enough to cling to the beef without turning into a thick paste. And the peppers should be soft while retaining some character.


Serve it generously, with a little fresh cilantro and a wedge of lime.


And don't be surprised if the leftovers taste particularly good the following day. The flavours have had time to settle together. Which is fortunate. Because this is precisely the sort of dish worth making in generous quantities.


Although whether any leftovers actually survive until tomorrow is another matter entirely.


Tips for Success

Flank Steak Is Important


Its long, clearly defined fibers separate naturally into the strands that give Ropa Vieja its look. Shred it with the grain into substantial ribbons, not fine pieces.


Brown the Beef Properly


The dark crust becomes part of the sauce. Give the beef room and resist moving it; when it releases easily from the pot, it’s ready to turn.


Take Your Time with the Onions and Peppers


12 to 15 minutes may feel long, but this is where much of the sauce’s sweetness develops. You want soft vegetables with a little caramelization.


The Anchovies Should Disappear


They’re not there to make it taste of anchovies. They melt into the vegetables and add another layer of savory depth.


Cook the Beef Until It Tells You It’s Ready


2½ to 3 hours is a guide. The real test is tenderness: a fork should pull the beef apart with very little resistance.


The Sauce Should Coat, Not Drown


Reduce it until glossy enough to cling to the beef. If it gets too thick, loosen it with a splash of broth.


Rinse and Toast the Rice


Rinsing removes surface starch so the grains stay distinct, and stirring them through the seasoned oil builds flavor.


Be Gentle with the Beans


They’re already cooked. Fold rather than stir so they stay whole.


Finish Both with Acidity


The white wine vinegar in the beef and red wine vinegar in the rice should brighten the flavors without tasting vinegary.


Key Ingredients

Flank Steak: Its long, clearly defined fibres pull apart into the rustic ribbons that give Ropa Vieja its name and look.


Onions and Bell Peppers: Cooked slowly until very soft and lightly caramelised, they bring much of the sauce's natural sweetness.


Anchovy Fillets: They melt away completely into the vegetables, adding savoury depth without any fishy taste at all.


Garlic, Cumin, Oregano and Smoked Paprika: Bloomed briefly in the pot, they give the sauce its warm, smoky, fragrant backbone.


Dry White Wine: Reduced by about half before the broth goes in, it adds flavour and helps lift the browned bits from the pot.


Whole Peeled Tomatoes: Crushed by hand with their juices, they make the rich sauce that wraps around the beef and soaks into the rice.


Pimento-Stuffed Green Olives: They bring little bursts of salt and brine to balance the sweetness of the peppers and tomatoes.


Black Beans and Long-Grain Rice: Baked together with peppers, spices and broth, they turn the braise into a complete, generous meal.

Common Mistakes to Avoid

  • Over-shredding the beef: you want long ribbons, not finely pulled meat

  • Rushing the vegetables: pale onions and peppers make a flat sauce

  • Skipping the wine reduction: unreduced wine tastes sharp and boozy

  • Pulling the beef too soon: go by tenderness, not the clock

  • Stirring the rice and beans hard: the beans break and the rice turns gummy

What to Serve with Ropa Vieja

  • Fried sweet plantains (maduros) or tostones

  • Sliced avocado with red onion and lime

  • Extra lime wedges and hot sauce

  • A cold beer or a mojito

How to Store

Fridge: refrigerate the Ropa Vieja and the rice and beans separately for up to 4 days.


Freeze: the Ropa Vieja freezes well for up to 3 months; thaw overnight in the fridge.


Reheat: warm the beef gently on the stove with a splash of broth, and the rice and beans covered with a little water.


Make ahead: Ropa Vieja is even better the next day. Add the fresh cilantro just before serving.

Frequently Asked Questions

It translates to old clothes, referring to the appearance of the shredded beef.

It is strongly associated with Cuban cuisine, with broader historical roots in Spanish cooking.

Flank steak is traditional in many recipes, and it's what this recipe uses. Other cuts suitable for slow cooking can also work, although the texture will differ.

The meat may need more gentle cooking time, or it may have been cooked too aggressively.

Yes. This recipe braises in a low oven, but a slow cooker works too. Brown the meat and prepare the aromatics first for additional flavour.

Yes. It reheats well when stored and handled safely. Add the fresh cilantro just before serving.

Yes. Freeze the cooled beef and sauce in suitable containers for up to 3 months, and thaw overnight in the fridge.

Black beans, white rice, fried plantains, or a simple salad are popular accompaniments.

No. They melt completely and simply add savory depth.

No. It’s smoky, savory and gently sweet. Add a pinch of chili flakes or serve hot sauce on the side if you like heat.

You Might Also Like

Try my Seafood Paella, Lamb Tagine-Style Stew, Goulash, plus my Slow Roasted Cuban Mojo Pork and Beef Rendang for more slow-cooked comfort.

Recommended Equipment

Make this recipe easier with the right tools: Dutch Oven, Chef's Knife, Tongs, and Cutting Board. Also useful: Fine-Mesh Strainer.


Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page