Heat the oil in a large saucepan over a medium-high heat. Add in the whole spices, and give it a good stir until they're nice and fragrant.
Add in the chopped onion, and give it a good stir to coat it all in oil. Put the lid on the pan, and reduce the heat to low. Cook it for 10 minutes, stiring occasionally regularly, until the onions have beautifully softened.
Remove the lid, and continue to gently fry the onions to get them even softer, until they've turned a light brown.
While the onions are cooking, peel and grate the garlic and ginger. Alternatively, you can peel and chop the garlic and ginger, and blitz them into a paste with a splash of water. I use my hand blender for this, but you could equally use a mini food processor.
Turn up the heat to medium-high, and add in the chopped chilli, and your prepared garlic and ginger. Give it a good stir, and cook for about a minute, or until the raw garlic smell disappears. Add a splash of water at any point if it looks a bit dry or might burn.
Add in the ground cumin, ground coriander, and the ground turmeric, and stir throughly.
Add in the chopped tomatoes, a dash of salt, and optionally a pinch of sugar. Bring it to a boil, and then turn the heat down to medium and simmer for 5 minutes, stiring regularly to ensure it doesn't catch on the bottom of the pan.
Add in your tin of coconut milk, and stir until well combined. Add in the drained chickpeas, the diced sweet potato and all of the spinach. Stir through continuously and bring to a simmer, until the spinach has fully wilted down into the curry.
Turn the heat down to low, and place the lid on the saucepan not quite on, allowing some steam to escape. Simmer for 12 minutes, stirring frequently.
Remove the lid, and add in the ground almonds and garam masala. Stir through, and continue to simmer with the lid off for a further 10 minutes, until the sweet potatoes are tender and cooked through.
Give the curry a quick taste, and adjust the seasoning as you deem necessary.
Serve! I like to serve this on a bed of fluffy rice, or with a vegan naan bread - or both, if I'm feeling luxurious!
For an extra creamy curry, stir in 2-3 tbsp of your favourite plant based cream substitute.