Melt the butter in a saucepan, add the onion, garlic, ginger and spices and cook over a low heat, stirring frequently, for 5 minutes. Add the potatoes and salt and pepper, stir well and then add the stock and tomatoes to the pan.
Bring to the boil, then reduce the heat, cover and simmer gently for 20 minutes.
Remove the lid and simmer, uncovered, for a further 15–20 minutes until the liquid is reduced and thickened to a glaze. Serve hot, garnished with some chopped fresh coriander.