Preheat oven to 190°C (170°C fan) mark 5. Mix grated onion and oil in a medium roasting tin or ovenproof serving dish. Roast for 15min, stirring occasionally, until softened.
Meanwhile bash cardamom pods with a pestle in a mortar. Peel off and discard the husks, then grind the cardamom and coriander seeds together. Mix in turmeric, chilli, garlic, ginger and some seasoning. Cut off the stems from the coriander (reserved leaves for garnish). Finely chop stems and bash into the spice mixture.
Stir the spice mix and cinnamon sticks into the onions and return to the oven for 5min to fry off the spices.
Stir in chopped tomatoes and cook for 20min to concentrate the flavours.
Mash mixture with a potato masher to pulp down the tomatoes, then stir in the coconut milk. Add the prawns and return to the oven for 10-15min until prawns are pink.
Remove cinnamon sticks, stir in lime juice and check seasoning. Garnish with coriander and serve with rice, if you like.
storage: 3 months
Reheat: microwave 4 mins