Heat a large deep frying pan and cook olive oil, onions, and garlic for 3 minutes.
Add all spices to the pan and fry for 1 minute.
Stir in the sweet potato chunks.
Add tomatoes, honey, saffron, water, preserved lemon, apricots, olives, and almonds.
Add chopped coriander stalks, cover, and simmer for 20 minutes until potatoes are tender.
Place couscous in a bowl and cover with boiling water to a depth of 1.5cm.
Stir in olive oil, preserved lemon, and lemon juice, then cover for 5 minutes.
Fluff the couscous with a fork and season with salt and pepper.
Serve the tagine over the couscous and garnish with coriander leaves.