Heat 1 tbs oil in a large saucepan or wok over medium-high heat. Add chicken and cook, turning occasionally, for 4-5 minutes until light golden and sealed. Transfer to a plate.
Add remaining oil and onion to pan. Cook, stirring often, for 3 minutes or until onion is soft. Spoon thick top layer from the coconut milk or cream into the pan. Stir in curry paste and cook, stirring for 2-3 minutes until oil separates.
Add chicken, sweet potato, cinnamon stick, tomatoes and remaining coconut milk or cream to pan. Stir to combine. Reduce heat to medium-low, cover and simmer, stirring occasionally, for 15 minutes. Stir in mushrooms and simmer, stirring occasionally, for a further 15 minutes until sweet potato is tender.
Stir in spinach and cook for 1 minute or until leaves just wilt. Serve curry with steamed basmati rice, mango chutney and pappadums.