Heat the vegetable oil in a large pot or Dutch oven over medium heat.
Add the chopped onions and cook until softened and golden brown, about 5-7 minutes.
Stir in the minced garlic and cook for another minute.
Add the meat cubes to the pot and cook until browned on all sides.
Stir in the diced tomatoes and tomato paste, cooking for about 3-4 minutes until the tomatoes start to break down.
Add the ground cumin, ground coriander, ground turmeric, ground cinnamon, ground black pepper, ground paprika, ground allspice, ground cardamom, and salt. Mix well to coat the meat with the spices.
Add the potato chunks, sliced carrot, and diced bell pepper to the pot.
Pour in the beef or chicken broth and bring to a boil.
Reduce the heat to low, cover the pot, and simmer for about 45-60 minutes, or until the meat is tender and the vegetables are cooked through.
Remove from heat and let it sit covered for 5 minutes before serving.
Garnish with fresh cilantro or parsley.
Enjoy your meal!