In a large pot or Dutch oven, heat olive oil over medium-high heat. Season the flank steak with salt and pepper, then add it to the pot. Brown the meat on all sides, about 5-7 minutes. Remove the steak and set aside.
In the same pot, add the chopped onion and bell pepper. Sauté for about 5 minutes until softened. Add the minced garlic, cumin, oregano, and smoked paprika, cooking for an additional minute until fragrant.
Return the browned flank steak to the pot. Add the diced tomatoes (with their juice), beef broth, red wine vinegar, Worcestershire sauce, and bay leaf. Stir to combine.
Bring the mixture to a simmer, then cover and reduce the heat to low. Let it cook for about 2 to 2.5 hours, or until the beef is tender and easily shreds with a fork.
Once cooked, remove the steak from the pot and shred it with two forks. Return the shredded beef to the pot and stir to combine with the sauce. Adjust seasoning with salt and pepper if needed.
Serve hot, garnished with fresh cilantro if desired.