Get your spices ready. Place ground spices (apart from ½ teaspoon garam masala) into a small bowl.
Heat up oil on a low-medium heat, in a heavy bottom pan. Once the oil is hot, add mustard seeds and wait until they start popping, stirring from time to time.
Add in cumin seeds, dry curry leaves and chilli flakes. Fry gently for a minute or so – until the cumin releases its fragrance.
Add chopped onion, saute it gently, stirring from time to time until it gets soft and lightly caramelised in places. Season.
Add garlic and ginger. Cook for about 2 minutes stirring frequently so that ginger does not stick to the pan.
Reduce the heat to low and add all the ground spices (save ½ teaspoon garam masala for later). Coat everything in the pot in the spices. Stir frequently, cook for 30-60 seconds until all spices are fragrant.
Add canned tomatoes squashing them down well with a wooden spoon or potato masher. Add a can worth of water and salt.
Simmer, stirring from time to time, until the tomatoes fall apart and thicken into a slightly chunky sauce – add more water if the pan is looking to dry before.
Meanwhile, cut peel sweet potatoes and cut into small (1 cm / 0.4 inch) cubes. Heat up a small pan on low heat and toast cashews until browned on both sides. Set aside to cool, then chop roughly.
Add coconut milk to the pan, let the sauce come to a gentle simmer than add potato cubes. Cover, then simmer for about 15 minutes – or until potato cubes are cooked through.
Take the lid off, add drained chickpeas to the pan, season with lime juice and sprinkle with garam masala.
Serve on top of cooked rice or/and with a vegan naan, with chopped coriander leaves and toasted cashews on top.