Grate 1 onion into a shallow dish, add the cinnamon and ½ tbsp olive oil, then mix. Place the lamb steaks in the dish, rub in the marinade, then cover and set aside while you make the rice.
Place the rice and 600ml water in a pan. Bring to the boil, then turn down and simmer, covered, until all the water has evaporated - about 20 mins. Take off the lid and cool. Finely chop the remaining red onion and mix into the rice along with the herbs, pomegranate, pistachios and cranberries. Finally mix in the orange and lemon juice, the remaining olive oil and season well.
Remove the lamb from the marinade, shaking off any excess. Griddle for about 5 mins on each side, depending on how you like your meat, and serve with a big spoonful of rice.