Roughly chop 1 onion and put in a food processor with the garlic, ginger, turmeric, cloves, chilli flakes, cinnamon, curry paste, lemon juice, sugar and salt and pepper. Blend to a thick paste and turn into a bowl. Add the meat to the bowl and mix together well.
Thinly slice the second onion. Heat 5 tablespoons of the oil in a large frying pan and fry the onion slices until deep golden and crisp. Drain on kitchen paper.
Chop the third onion. Add the cauliflower to the frying pan and fry gently for 5 minutes. Add the chopped onion and fry gently, stirring, for about 5 minutes until the cauliflower is softened and golden. Drain.
Heat the remaining oil in the pan. Tip in the meat and marinade and fry gently for 5 minutes, stirring.
Stir in the bay leaves, rice and stock and bring to the boil. Reduce the heat and simmer very gently, stirring occasionally, for 10–12 minutes until the rice is tender and the stock absorbed, adding a little water to the pan if the mixture is dry before the rice is cooked. Stir in the black onion seeds. Return the cauliflower to the pan and heat through.
Pile on to serving plates and serve scattered with the crisp onion and toasted almonds. Serve with a cucumber raita (see below), if you like.