Heat a little oil in a large frying pan or casserole and brown the lamb shanks on all sides. Remove from the pan and set aside.
Add a splash more oil in the pan and throw in the cardamom pods and coriander seeds until they start to pop.
Lower the heat and add all the other spices, the chopped onions, garlic, chillies, bay leaves and grated ginger. Stir together until the onions start to soften – about 5 minutes.
Remove the leaves from the bunch of coriander and reserve. Finely dice the coriander stalks.
Turn the heat up and add the tinned tomatoes, chopped coriander stalks and stock. Stir everything together and bring to the boil. Turn the heat off and season with salt and pepper.
Arrange the lamb shanks in the bottom of the slow cooker. Pour the contents of the pan over the lamb so that it covers them about halfway up.
Cook for 6 hours on the low setting.
Add the chopped cherry tomatoes and yoghurt and cook for a further 30 minutes on high heat.
Remove the lamb shanks from the slow cooker and flake the meat off the bone*. Mix the meat back in with the sauce.
Serve with basmati rice and garnish with the fresh coriander leaves.
*I managed to keep one intact for the photographs but in reality the meat will be falling off the bone.