Heat the olive oil in a large, deep frying pan and put over a medium-high heat. Scrape in the onion and add a pinch of salt. Cook for 6 minutes until softening, then scrape in the garlic and cook for another minute.
Sprinkle in 1 tbsp of the ras el hanout, ½ the chopped preserved lemon, rose harissa and sweet potato. Cook for 3 minutes, tossing everything together. Pour in the chickpeas, along with all of their liquid, the tin of cherry tomatoes and the vegetable stock.
Bring to a simmer and cook for 30 minutes until thickened and reduced slightly.
Toss the monkfish pieces in the remaining tbsp of ras el hanout and nestle into the pan. Put on a lid and simmer gently for 8 minutes.
Meanwhile, put the flaked almonds into a small frying pan over a medium-high heat and toast, tossing regularly for 2-3 minutes until golden brown. Tip into a bowl and mix with the remaining preserved lemon and chopped green olives and parsley.
Ladle the tagine into bowls and top with the almond and olive topper.
