Heat the oil in a large pan or a pot over medium heat. Add the cumin seeds and let them toast for a few seconds until they start to release their aroma. Add the chopped onions, minced garlic cloves, and a pinch of salt and cook for 3-4 minutes until they are lightly golden.
Add all the spices: the grated ginger, garam masala, curry powder, turmeric, a pinch of black pepper, and chili powder, and cook until fragrant for around 30 seconds.
Add the chopped butternut squash and chickpeas and toast for a couple of minutes. Then add the salt, tomatoes, full-fat coconut milk, and a cup of water.
Bring the mixture to a boil, then reduce the heat to medium-low to keep it gently simmering, and cook for around 20 minutes, or until the squash is tender (use a fork to check).
Turn off the heat and blend roughly half of the curry with an immersion blender. Or transfer the mixture to a standard blender, blend until smooth, and return it to the pan. Blending the curry takes more effort, but it will help create a rich and creamy curry sauce. If the sauce is too thick, add another half a cup of water, taste for seasoning, and add more salt if necessary. If you like your curry spicy, now it’s the time to add extra chili.
Add the baby spinach to the curry sauce. Stir for a couple of minutes until the spinach has wilted.
Serve with brown basmati rice or naan bread, and garnish with coriander, green onions, fresh chili, and chopped cashews to add some crunchiness.