Season the flank steak evenly with kosher salt and black pepper on both sides.
Heat olive oil in a large Dutch oven or heavy-bottomed pot over medium-high heat. Sear the steak for 4-5 minutes per side until deeply browned. Remove the steak and set aside.
Reduce the heat to medium and add the sliced onion, green bell pepper, and red bell pepper to the pot. Cook, stirring occasionally, for 5-7 minutes until softened.
Stir in the minced garlic, cumin, oregano, and smoked paprika, and cook for 1 minute until fragrant.
Add the diced tomatoes, white wine, beef broth, and bay leaf to the pot, scraping up any browned bits from the bottom.
Return the seared flank steak to the pot, nestling it into the sauce. Bring to a simmer, then cover and reduce the heat to low. Cook for 2-2.5 hours, turning the steak halfway through, until the meat is tender and easily shreds with a fork.
Remove the steak from the pot and shred it into thin strips using two forks. Return the shredded meat to the sauce and stir to combine. Simmer uncovered for 10 minutes to thicken the sauce slightly.
Remove the bay leaf and garnish the ropa vieja with chopped cilantro before serving.