Heat the ghee over medium heat in a large, heavy-based pot. Add the cinnamon stick and cardamom pods. Sauté for 1 minute until fragrant.
Add the finely chopped onion and cook for about 7 minutes, stirring frequently, until the onions become golden and start to brown at the edges.
Stir in the minced ginger and garlic paste, cooking for about a minute until fragrant. Add the lamb and cook until browned on all sides, ensuring the meat is evenly seared. Then, stir in the tomato paste and season with paprika, chili powder, coriander, cumin, turmeric, nutmeg, garam masala, clove powder, salt and black pepper. Mix well to coat the lamb with the spices.
Add the chicken broth or water. Bring the liquid to a boil over high heat, then reduce the heat to a simmer. Cover the pot with a lid, and lower the heat to medium-low, ensuring a gentle simmer. Cook for 1 hour and 45 minutes, stirring occasionally, until the lamb becomes tender.
Remove the pot lid and reduce any excess liquid for 10 to 15 minutes. Stir in the yoghurt, along with the extra garam masala. Cook for another few minutes until well combined.
Serve the lamb curry over basmati rice, garnished with fresh coriander leaves, finely shredded ginger, and a dollop of yoghurt.