In a large pot, heat the oil over medium heat. Add the onion, carrot and celery and cook for 4-5 minutes or until softened.
Add the butternut squash, apple and broth. Bring mixture to a boil over high heat.
Reduce heat to low and simmer for about 30 minutes until the squash and carrots have softened.
Remove from heat. Use an immersion blender to purée the soup, or purée the soup in batches in a traditional blender.
Stir in cinnamon, nutmeg, and cayenne. Season with salt and pepper to taste.
Serve warm, garnished with roasted butternut squash seeds, if using.
To store, let leftover soup cool to room temperature before transferring it to a proper storage container and refrigerating it for up to 5 days (leftovers taste even better the next day!). Alternatively, you may freeze the soup for up to 3 months.