1. For the curry paste,preheat oven to 150C (130C fan-forced) and roast peanuts on a baking tray for 15 minutes or until lightly golden. Remove nuts from tray and then roast coconut for about 10 minutes and then bay leaves for 5 minutes. Set all aside to cool.
2. Heat a frying pan over low heat and lightly toast cardamom seeds until fragrant,about 5 minutes.
3. Grind the roasted bay leaves and cardamom seeds together with cloves in a spice grinder (or use a mortar and pestle) to form a fine powder and set aside.
4. Process peanuts,coconut,ground spices,chilli,water and salt together to form a coarse paste similar to chunky peanut butter. Add a little extra water if it becomes too thick or hard to process.
5. For the curry,place coconut cream,cassia bark,cardamom seeds,lemongrass and lime leaves in a large, heavy-based pot and,over a medium heat,bring to a gentle boil for five minutes to infuse the flavours.
6. Add beef to the pot and bring up to a gentle boil again,then reduce heat to very low and simmer uncovered,stirring occasionally,for 1.5-2 hours or until the meat is tender. Drain off the braising liquid and reserve.
7. Keeping the meat in the same pot,add the curry paste,ginger and peanuts and cook over a medium to low heat for 10 minutes,stirring occasionally.
8. Add the reserved braising liquid,potatoes,palm sugar,fish sauce and tamarind water and cook for a further 20 minutes or until the potatoes are cooked through.
9. Taste and adjust seasoning;the curry should be quite dry,but add a little extra coconut cream if required to form a wetter gravy.
10. Serve immediately in a large bowl with crispy shallots,steamed rice,and with a squeeze of lime and coriander to taste.