Rinse the rice under cold water and tip it into the pan. Add a pinch of salt and 300ml boiling water. Cover, bring to the boil, then turn the heat down. Simmer for 25 mins till all the water is absorbed. Take off the heat. Set aside, lid on, for 5 mins to steam in the pan.
While the rice cooks, heat a large frying pan or wok. Tip in 2 tsp fennel seeds. Toast for 2 mins till fragrant. Tip into a bowl. Crush the cardamom pods in a pestle and mortar (or use a small bowl and a jam jar or the end of a rolling pin). Discard the papery husks. Finely crush the seeds.
Peel the garlic, ginger, turmeric and shallots. Roughly chop them. Halve the chilli and flick out most of the seeds for a milder curry, or leave them in for more heat. Chop the chilli. Roughly chop the coriander stems. Set the leaves aside.
Add all the prepared ingredients and half the toasted fennel seeds to a food processor with 1 tbsp oil. Blitz till smooth. This is your curry paste. No food processor? Pop the garlic, ginger, turmeric, shallots, chilli and coriander stalks on a board together and chop as finely as you can, then mix with the spices and oil in a bowl.
Finely chop the tomatoes. Peel the sweet potatoes. Chop into bite-sized chunks. Heat the frying pan or wok over a high heat. Scrape in the curry paste and fry for 2 mins. Add the chopped tomatoes and cook for 5 mins, stirring now and then. Add the crushed cardamom seeds.
Add the sweet potatoes and stir to coat in the spiced tomatoes. Pour in the coconut milk. Fill the tin with cold water (200ml) and add that too. Place a lid on the pan and simmer for 10 mins. The sweet potato should be tender when pierced with a knife. If not, cook for a little longer.
Add the crab to the coconut curry. Stir and cook for 2 mins to warm the crab. Zest and juice half the lime. Add it to the curry. Taste and season with a little salt or a squeeze more lime juice if it needs it.
Spoon the rice into shallow bowls. Top with the golden crab curry. Sprinkle with the toasted fennel seeds and coriander leaves to serve.