In a large pot, add the soaked and drained beans.
Cover with water and bring to a boil. Reduce the heat to low and simmer for about 45-60 minutes, or until the beans are tender. Drain and set aside.
Heat the vegetable oil in a large pot over medium-high heat.
Add the beef or lamb cubes and cook until browned on all sides. Remove the meat and set aside.
In the same pot, add the chopped onion and cook until translucent.
Stir in the minced garlic, minced ginger, and chopped hot peppers. Cook for another 2 minutes.
Add the chopped tomatoes and cook until they break down and form a sauce.
Stir in the ground cumin, ground paprika, ground coriander, ground turmeric, ground black pepper, and salt.
Return the browned meat to the pot and mix well with the tomato and spice mixture.
Pour in the beef or vegetable broth and bring to a boil.
Reduce the heat to low, cover, and simmer for about 30 minutes to allow the flavors to meld.
Stir in the cooked beans and simmer for an additional 10-15 minutes, or until everything is well combined and heated through.
Garnish with fresh cilantro if desired.
Enjoy your meal!