In a large skillet or Dutch oven, heat the olive oil over medium-high heat. Add the diced onion and bell pepper, sautéing until softened, about 5 minutes.
Add the minced garlic and cook for an additional 1 minute until fragrant.
Stir in the cubed flank steak, cooking until browned on all sides, about 5-7 minutes.
Add the diced tomatoes (with juice), ground cumin, chili powder, paprika, salt, and black pepper. Stir to combine.
Pour in the beef broth and bring the mixture to a simmer. Reduce the heat to low, cover, and let it cook for 1 hour, stirring occasionally.
After an hour, check the tenderness of the meat. If it’s not tender enough, continue to simmer for an additional 15-30 minutes.
Once the meat is tender, stir in the fresh lime juice and adjust seasoning if necessary.
Serve hot, garnished with fresh cilantro if desired.