Heat vegetable oil in a large pot or Dutch oven over medium-high heat.
Add the beef cubes and brown them on all sides. Remove the beef from the pot and set aside.
In the same pot, add the chopped onion and bell pepper. Sauté until the onion is translucent, about 5 minutes.
Add the minced garlic and cook for another minute.
Stir in the chopped tomatoes (or canned tomatoes), tomato paste, cumin, paprika, oregano, and turmeric. Cook for about 5 minutes until the tomatoes have broken down and the mixture is fragrant.
Return the browned beef to the pot. Stir to combine with the tomato mixture.
Pour in the beef broth and sour orange juice. Bring to a simmer.
Reduce the heat to low and cover the pot. Let it simmer for about 1 to 1.5 hours, or until the beef is tender.
If using, add the sliced carrots and potatoes halfway through the cooking time.
To thicken the stew, mix the flour with a bit of water to make a slurry. Stir the slurry into the pot and cook for an additional 10 minutes, or until the stew has thickened.
Adjust seasoning with salt and black pepper.
Stir in the chopped cilantro.
Enjoy your meal!