Heat oil in a large sauce pan.Add on cinnamon , cardamom and cloves and saute for half minute.
Add the sliced onions and sauté over a medium heat, stirring occasionally, until golden brown
Add the lamb shanks and cook over high heat for five minutes, stirring constantly
Add ginger and garlic paste, stir well for a couple of minutes and then add the turmeric, chilli, cumin and coriander powders and salt.
Sauté for a further five minutes. Add the yoghurt and sauté for a further 5 minutes over high heat
Add the chopped tomato, stir and allow to simmer for 5 minutes or until the oil separates from the masala
Add enough hot water to cover the shanks and bring to a boil. Cover with a lid, simmer and cook until the lamb is done, approximately 3-4 hours or until the meat just starts to come away from the bone
Remove from the flame and allow the lamb shanks to cool in the liquid. Remove the shanks using a pair of tongs and strain the cooking liquid into a clean pot
Cook the strained liquid for a further 10 minutes or until reduced to the desired consistency and season to taste with salt
To finish, add the cooked shanks back into the sauce, cover and simmer for a further 15 minutes
Sprinkle with garam masala powder and chopped green beans in the Sweet Potato mash base. Serve immediately