1.For curry sauce, heat ghee in a saucepan over medium heat, add curry leaves and fry until crackling (30 seconds). Add garlic, shallot, cardamom, fennel seeds, fenugreek, chilli powder and cinnamon and stir occasionally until shallot is tender (5-7 minutes). Add curry powder and turmeric and fry until fragrant (1 minute). Add stock and 500ml water, bring to the simmer, and reduce by half. Add coconut cream, bring to the simmer, reduce until slightly thickened (10-15 minutes), strain (discard solids) and keep warm.
2.For coconut sambal, combine ingredients in a bowl, stir and season to taste.
3.Heat half the ghee in a pan over medium-high heat. Cook half the fish, skin-side down, turning once, until golden and cooked through (3-4 minutes each side). Add remaining ghee and cook second batch of fish.
4.Add lime juice to curry sauce and season to taste. Divide rice between plates, top with snapper, pour sauce over then top with sambal and serve with lime wedges.
Note Sri Lankan curry powder is available from Asian grocers. Maldive fish, dried tuna, is available from Asian grocers.