Put the olive oil in a large frying pan on a medium heat.
Add the onions, garlic, turmeric and ginger, and cook, stirring frequently, for three to four minutes, until fragrant.
Add the stock, parsley, a teaspoon of salt, a quarter-teaspoon of pepper and the sugar, and bring to a boil, scraping the bottom of the pan occasionally.
Cover the pan, turn down the heat to low, and leave to simmer, stirring occasionally so the onions don't stick to the bottom, for 35 minutes, until the onions are soft, translucent and infused with the colour and flavours of the spices.
Meanwhile, set a large pot of water on a high heat, add a teaspoon of salt and bring to a boil.
About 10 minutes before the sauce is ready, add the pasta to the boiling water and cook according to the packet instructions, until almost al dente.
Reserve a cup (240ml) of the cooking water, then drain the pasta.
About five minutes before the pasta is ready, uncover the onion pan, turn up the heat to medium-low, and add the artichokes, peas, olives and a tablespoon of the preserved lemon.
Cook, stirring frequently, until the peas are tender and the artichokes warmed through.
Return the drained spaghetti to the empty pasta pot, tip in the sauce and stir well to combine.
Cook on a low heat, stirring occasionally and adding some of the reserved pasta cooking water a tablespoon at a time, if necessary, to loosen.
Taste and adjust the seasoning with more salt and/or teaspoons of the preserved lemon, if you like.
Serve immediately, topped with a generous drizzle of olive oil and grated parmesan.
