Heat olive oil in a large pot over medium heat. Once hot, add onion, ginger, and garlic. Sauté for 2 minutes, stirring frequently.
Add in chopped butternut squash, carrot, and apple. Season with garam masala, red pepper flakes, turmeric, and cinnamon. Stir to coat, then cover and cook for 3 minutes, stirring occasionally.
Pour in coconut milk, vegetable broth, and coconut sugar. Bring to a low boil over medium heat, then reduce to low, cover, and simmer for 20-30 minutes or until butternut squash is tender when pierced with a fork.
Use an immersion blender or transfer soup to a blender, and purée on high until creamy and smooth. If using a blender, you may have to mix it in a few batches. Once smooth, return soup back to pot and season with salt & pepper.
Taste and adjust seasonings, adding more garam masala, salt, or coconut sugar as needed. Continue cooking for a few more minutes over medium heat.
Serve as is or with garnishes of choice, although we recommend cashew cream and toasted pumpkin seeds. Store leftovers covered in the refrigerator for 3-4 days or in the freezer for up to 1 month.