Make the curry paste. Place the whole spices in a small frying pan and dry-fry over a medium heat for 2–3 minutes, stirring frequently, until fragrant and beginning to pop. Grind to a powder in or mini chopper. Add to the remaining curry paste ingredients and blend to a smooth paste.
Heat the oil in a large, heavy-based 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 to cook the spices.
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 and 250 ml (8 fl oz) water. Stir in the yogurt and bring to the boil, then reduce the heat, cover and simmer very gently for 2 hours or until tender, adding more liquid if necessary. Alternatively, cook in a slow cooker.
Season well with salt and pepper, then ladle into bowls. Spoon over extra yogurt and sprinkle with the black onion seeds and extra coriander. Serve hot with naan bread and steamed basmati rice, if liked.