Using a mortar and pestle, pound the garlic, chilli, ginger and turmeric to a paste.
Heat oil in a deep frypan over medium heat. Cook onion, stirring, for 3-4 minutes until softened. Add chilli paste and cook, stirring, for 3-4 minutes until fragrant. Add spices and curry leaves, and cook, stirring, for a further 2 minutes. Add coconut milk and stock, then bring to a simmer.
Cook, stirring occasionally, for 10 minutes or until slightly reduced. Add fish and cook for 4 minutes or until just cooked. Remove from heat. Season with lime juice and salt.
Serve curry with rice, topped with coriander and deep-fried curry leaves.
