Heat the oil in a large casserole dish with a lid. Add the onion and fry for 10 minutes until golden and softened. Add the garlic, ginger and chilli and cook for a further 1 minute. Add the dried spices and cook for another 1 minute.
Stir in the butternut squash, then add the coconut milk, 100ml water and the peanut butter. Season, cover with the lid and simmer for 10 minutes.
Add the chicken, spinach and tomatoes, remove the lid, then simmer for 30 minutes, until the squash is tender but not falling apart and the sauce has thickened. Remove from the heat and stir through most of the coriander, reserving a little to garnish. Sprinkle over the remaining coriander and the chopped peanuts to serve.