First, make the curry paste. Toast the cardamom, coriander, fennel and cumin seeds in a dry frying pan over medium heat, stirring often so they don’t burn, for about 2 minutes or until fragrant. Transfer to a mortar and pestle and pound to a powder (or use a small blender to do this). Stir in the ground cinnamon, cloves and nutmeg, then add the garlic, shallots, chilli, ginger and lemongrass and continue to pound until it forms a paste. (You may need to add a tablespoon or so of water to help with this, especially if you are using a blender.)
Pour about a quarter of the coconut milk into a large wok or saucepan over medium heat. When it’s hot, add the curry paste and fry in the coconut milk for about 5 minutes, stirring frequently – this releases the flavour and makes your kitchen smell amazing. It is perfectly okay if your coconut milk starts to split, which tends to happen if you are using the sort with no stabilisers added. In fact, in Thailand, you want the coconut milk to split, as it is considered more authentic!
Now add the rest of the coconut milk, along with the stock, bay leaves, star anise, cinnamon and serundeng. Stir well, then add the potatoes, palm sugar, tamarind and jackfruit. Season with soy sauce, then cover and bring to the boil. Lower the heat to a simmer and cook for about 30 minutes. Finally, stir in the peanuts and cook for 2–3 more minutes.
Taste the curry just before serving, adding a dash more soy sauce or palm sugar to taste, if needed. Garnish with peanuts and chilli slices, then serve with steamed jasmine rice and lime wedges.