Heat the vegetable oil or ghee in a large heavy-bottomed pot or Dutch oven over medium-high heat.
Season the lamb chunks with salt and pepper, then brown them in the pot for 5-7 minutes. Remove the lamb and set aside.
In the same pot, add the chopped red onion and sauté until softened, about 5 minutes.
Stir in the minced garlic, grated ginger, and curry powder. Cook for 1 minute until highly fragrant.
Return the browned lamb to the pot. Pour in the tomato puree and broth, and bring the mixture to a boil.
Reduce the heat to low, cover the pot, and simmer gently for 45 minutes to tenderize the meat.
Add the cubed potatoes to the stew, cover again, and simmer for another 30-40 minutes until both the potatoes and lamb are fork-tender.
Stir in the fresh cilantro just before serving. Serve hot alongside basmati rice or warm naan bread.