Start by heating 2 tablespoons of oil in a heavy-bottomed pot. Sear the beef pieces until browned and most of the liquid has evaporated. Remove the beef and set it aside.
In the same pot, add another 2 tablespoons of oil. Sauté the chopped onions, minced garlic, and ginger until the onions are soft.
Stir in the smoked paprika, red chili powder, cumin, black pepper, cinnamon, oregano, bay leaves, and salt. Let the spices toast for about a minute to release their flavors.
Add the tomato paste and mix well with the spices. Toss in the seared beef and give it a good mix. Crush the beef bouillon cube into the mixture, then pour in 5 cups of water.
Bring the stew to a boil on high heat, cover with a tight fitting lid, and simmer on medium heat for 45 minutes until the beef is tender.
Add the carrots, potatoes, and celery to the pot. Cover and cook for another 10 minutes, or until the vegetables are tender.
If you prefer a thicker stew, mix 2 teaspoons of cornflour with water until smooth. Stir it into the stew and let it boil for a minute until the sauce thickens.
For extra heat, sprinkle some chili flakes just before serving.