Dry roast the spices until aromatic and then grind. Peel and chop onion, garlic and ginger.
Peel and de-vein prawns. Place shells in a little water and simmer for 10 minutes, then strain juice and reserve, discarding shells. Melt butter in pan and gently fry onion, garlic and ginger until soft. Add spice mixture and salt and fry for further 2 minutes. Add yoghurt, tomato puree, prawn stock, bay leaf and desiccated coconut. Bring to simmer and cook, stirring gently, for 5 minutes. Adjust saltiness if required. Add prawns and garam masala and cook gently for a few minutes until the prawns are pink and cooked through (do not overcook or the texture will be ruined). Garnish and serve with boiled rice immediately.