Heat the vegetable oil in a large pot over medium-high heat. Add the lamb chunks and brown them on all sides. Remove the lamb and set aside.
In the same pot, add the chopped onions and minced garlic. Cook until the onions are soft and translucent.
Stir in the ground cumin, coriander, paprika, turmeric, cinnamon, black pepper, and cayenne pepper if using. Cook for a minute to release the flavors. Add the diced tomatoes and cook until they break down and form a sauce.
Return the browned lamb to the pot. Stir to coat the meat with the spice mixture. Add the yogurt and mix well.
Pour in the water or beef stock. Add the cubed potatoes, sliced carrots, and green peas. Stir to combine.
Bring to a boil, then reduce the heat to low. Cover the pot and let it simmer for about 1 to 1.5 hours, or until the lamb and vegetables are tender.
Taste and adjust the seasoning with salt as needed. Garnish with fresh cilantro or parsley before serving.
Enjoy your meal!