Heat the olive oil in a large saucepan over a medium heat. Add the onions then cover the pan and cook for about 10 minutes until they are soft and translucent, stirring occasionally.
Add the garlic, turmeric, ginger, salt, pepper and stock. Bring to the boil over a high heat then recover the pan, reduce heat to medium low and simmer gently for 30 minutes to make the broth.
Add the potatoes, artichokes and preserved lemons and return to a boil over a high heat. Cover the pan and reduce the heat to medium low. Simmer gently for 25-30 minutes until the potatoes and artichokes are cooked through and soft. There should be enough liquid in the pan to almost cover the vegetables. If not pour in just enough water to do so.
Add the peas and simmer for about 3 minutes. Check and adjust seasoning.
Scatter with the olives and chopped coriander, then serve warm with couscous or crusty bread.