Begin by searing the meat to lock in flavor. Heat 2 tablespoons of olive oil in a large, heavy-bottomed skillet over medium-high heat. Once the oil is hot, add the beef in a single layer, taking care not to overcrowd the pan. Sear until the beef is well-browned on all sides, about 5 to 7 minutes. Depending on the size of your skillet, you may need to do this in batches. Transfer the browned meat to a plate and set aside.
Add the remaining olive oil to the same skillet. Toss in the chopped onions and green bell pepper, sautéing for about 3 minutes until the onions turn translucent and tender. Stir in the garlic and cook for an additional minute until its fragrance is released. Add the diced tomatoes and continue cooking for another minute to let the flavors meld.
Season the mixture with salt, black pepper, ground cumin, and chili powder. Stir thoroughly to coat the vegetables in the spices. Mix in the tomato paste and crumble the beef bouillon cube directly into the pan, scraping up any caramelized bits from the bottom with a wooden spoon.
To build the gravy, sprinkle the flour over the vegetable mixture. Stir well and cook for 1 to 2 minutes to eliminate the raw taste of the flour. Pour in 1 cup of beef broth while stirring constantly; the sauce will begin to thicken as it simmers.
Return the seared beef to the skillet along with an additional 2 cups of beef broth. Stir until the mixture is fully incorporated, then reduce the heat to low. Cover and simmer gently for about 1½ hours, or until the beef becomes fork-tender and the sauce reaches a rich, velvety consistency. Stir occasionally, adding more broth if needed to loosen the gravy.
Taste and adjust the seasoning with additional salt or pepper if necessary. Just before serving, sprinkle with freshly chopped cilantro. Serve hot alongside fluffy rice and warm tortillas for a comforting, flavorful meal.