Heat the olive oil in a large pot or Dutch oven over medium-high heat. Once hot, add the beef cubes in batches, browning them on all sides. Remove the browned beef and set aside.
In the same pot, add the diced onion and bell pepper. Sauté until the onion is translucent, about 5 minutes. Add the minced garlic and cook for an additional minute.
Return the browned beef to the pot. Stir in the diced tomatoes, beef broth, tomato paste, cumin, paprika, oregano, bay leaf, salt, and black pepper.
Bring the mixture to a boil, then reduce heat to low. Cover and simmer for about 90 minutes, or until the beef is tender and the flavors have melded together. Stir occasionally and check for seasoning.
Once done, remove the bay leaf and taste for seasoning, adjusting salt and pepper as needed.
Serve hot, garnished with chopped cilantro. Recommend serving over rice or with warm tortillas.
For extra flavor, feel free to add a splash of lime juice before serving.