In a large pot, heat the olive oil over medium-high heat. Season the flank steak with salt and pepper and sear it in the pot for about 4-5 minutes on each side until browned. Remove the steak and set it aside.
In the same pot, add the sliced onions and bell peppers. Sauté for about 5 minutes until softened. Add the minced garlic and cook for another minute until fragrant.
Stir in the diced tomatoes with their juices, tomato paste, ground cumin, smoked paprika, and oregano. Mix everything well.
Return the flank steak to the pot, pour in the beef broth, and add the bay leaf. Bring the mixture to a boil, then reduce the heat to low, cover, and let it simmer for about 2-2.5 hours, or until the steak is tender and easily shredded.
Once the steak is tender, remove it from the pot and shred it with two forks. Discard any excess fat. Return the shredded beef to the pot, and stir to combine with the sauce. Let it cook for an additional 10-15 minutes to absorb the flavors.
Taste and adjust seasonings with salt and pepper as needed. Serve hot, garnished with fresh cilantro.
Notes
Serve over rice or with warm tortillas, garnished with lime wedges and sliced avocado.