Heat the oil in the base of a large tagine or a heavy-based saucepan over a medium heat, stir in the onions and cook for 1–2 minutes until they begin to soften. Add the garlic, ginger, chillies, cumin and fennel seeds and cook for a further 1–2 minutes.
Add the potatoes and carrots and pour in the stock. Bring to the boil, then reduce the heat, cover and cook gently for 15 minutes. If cooked in a saucepan, now transfer to a tagine or oven-proof dish.
Stir in the preserved lemon rind, season with salt and pepper and arrange the tomato slices over the top. Dot the tomatoes with the butter, then place the tagine, uncovered, in a preheated oven, 180°C (350°F), Gas Mark 4, for 15 minutes until the tomatoes are lightly browned. Garnish with the coriander and serve with couscous, if liked, or as an accompaniment to meat and poultry tagines.