For the tagine, heat a large, deep frying pan with a lid until hot. Add the olive oil, onions and garlic and cook for 2-3 minutes.
Add all of the spices and fry for one minute.
Add the sweet potatoes and stir well.
Add all the remaining ingredients, except the coriander, stir well and bring the mixture to a simmer.
Chop the coriander stalks, reserving the leaves for later, and add the stalks to the pan. Reduce the heat, cover with a lid, and simmer for 15-20 minutes, or until the sweet potato is just tender.
For the couscous, place the couscous into a heatproof bowl and pour over enough boiling water to cover the couscous by 1.5cm/½in.
Add the olive oil, preserved lemon and lemon juice and a pinch of salt. Stir well, then cover with cling film and set aside for 3-5 minutes, or until all the liquid has been absorbed.
Remove the cling film and fluff the couscous up with a fork. Season, to taste, with salt and freshly ground black pepper.
To serve, spoon some couscous onto each plate. Spoon the tagine onto the couscous and sprinkle over the reserved coriander leaves.