Step 1Peel the carrots and cut them, depending on their size, into cylinders or semicircles one-half-inch thick; all the pieces should end up roughly the same size. Place in a large saucepan and cover with salted water. Bring to a boil, then turn down the heat and simmer until tender but still crunchy, about 10 minutes. Drain in a colander and leave to dry out.
Step 2Heat the oil in a large pan and saute the onion over medium heat until soft and slightly brown, about 12 minutes. Add the cooked carrots to the onion, followed by the sugar, garlic, chile, onion, cloves, ground ginger, coriander, cinnamon, paprika, cumin, vinegar and preserved lemon.
Step 3Remove from the heat. Season liberally with salt, stir well and leave to cool.
Step 4Before serving, stir in the cilantro, taste and adjust the seasoning if necessary. Serve in individual bowls with a dollop of yogurt, a drizzle of oil and a garnish of the extra cilantro.