Peel and coarsely chop the onion, garlic and ginger.
Wash and coarsely dice the tomatoes.
Cover lamb shanks completely with water in a large pot, bring to a boil and simmer for about 15 minutes. Skim off any foam that arises.
Strain the water and set the lamb aside on a plate.
In another saucepan, release 3 tablespoons of ghee under high heat and sauté onion and garlic in it for about 3 minutes. Then add ginger, tomato paste and all other spices and roast for about 2 minutes.
Add tomatoes and fry for about 3 minutes.
Add lamb and sear briefly on all sides, then deglaze with 2 L water (or until then lamb is covered with water).
Turn stove to medium and simmer lamb for about 2 - 3 hours with lid halfway on until lamb is really tender.
Meanwhile, you can prepare the tomato salsa.
Wash and quarter the tomatoes.
Peel and quarter the onion.
Finely puree tomatoes with onion, olive oil and vinegar with a hand blender and season with salt, pepper and chili flakes.
Preheat oven to 100 °C top/bottom heat.
Remove lamb from broth and keep warm in oven.
Pour broth through a sieve and collect.
Wash basmati rice until water drains clear and then drain well.
Leave 1 tablespoon of ghee in a saucepan on high heat.
Add rice and fry briefly in it.
Deglaze rice with 450 ml of the lamb broth and simmer for about 1 - 2 minutes. You can freeze the remaining broth and use it another time.
Turn the heat to the lowest setting and put the lid on completely. Let rice cook for about 20 minutes.
Turn off the heat and let the rice stand for another 5 minutes.
Coarsely chop almonds and cashews and roast in a pan without fat until golden brown.
Wash and chop the coriander, mint and parsley. Gently fold half of the herbs into the rice with half of the nuts and the raisins.
Divide rice among either a large serving dish or individual plates and top with lamb, remaining herbs and nuts.
Serve kabsa with tomato salsa and yogurt.