Fill a large saucepan with water, bring to the boil, then add the lamb shanks and simmer 20 minutes. Drain.
Heat the oil in a small saucepan. Add cardamom and cinnamon sticks and sizzle. Add onions and cook until golden. Add garlic ginger paste and cook 2 more minutes. Add ground spices.
Whisk in the yoghurt and tomatoes and bring the sauce to a boil. Season with salt. Transfer to the slow cooker.
Add the lamb shanks, cover and cook on low 8 hours or until meat is falling off the bone. Add water as needed so it doesn't dry out. Serve.