Place the whole spices for the curry paste in a small frying pan and dry-fry over a medium heat for 2–3 minutes until fragrant. Tip the contents of the pan into a mini blender and grind to a fine powder. Add the remaining curry paste ingredients and blend to a smooth paste.
Heat the oil in a large saucepan over a medium heat, add the onion and cook for 5–6 minutes or until beginning to colour, stirring occasionally. Add 3 tablespoons of the prepared curry paste and stir-fry for 1–2 minutes.
Stir in the beef and cook for 4–5 minutes or until the meat is browned and well coated. Stir in the tomato purée, tomatoes, measured water and yogurt, and bring to the boil. Reduce the heat, cover and simmer for 2 hours or until tender, adding more liquid if necessary.
Season to taste and ladle into warmed bowls. Sprinkle with the nigella seeds and garnish with coriander leaves. Serve hot with naan bread and yogurt.