Begin by peeling and cubing the butternut squash and sweet potatoes, ensuring even pieces for consistent cooking. Next, chop one medium onion and mince two cloves of garlic. Set these aside.
In a large pot, heat a drizzle of olive oil over medium heat. Once hot, add the chopped onion, stirring occasionally until it's translucent and slightly softened, about 5 minutes.
Stir in the minced garlic and grated ginger into the pot, stirring constantly for 1-2 minutes until the mixture becomes aromatic.
Sprinkle in the ground cumin, ground coriander, and cayenne pepper; stir well to coat the onions, garlic, and ginger with the spices.
Carefully toss in the cubed butternut squash and sweet potatoes, mixing them thoroughly with the sautéed aromatic mixture.
Add the vegetable broth to the pot, ensuring it fully submerges the vegetables. Turn the heat up to high and bring the mixture to a lively boil.
Reduce the heat to low and allow the soup to simmer for about 20-25 minutes, or until the butternut squash and sweet potatoes are fork-tender.
Using an immersion blender, carefully purée the soup until smooth and creamy.
Return the blended soup to the pot over low heat. Gradually stir in the coconut milk, allowing it to warm through for a few minutes.
Finally, taste your soup and adjust the seasoning with salt and pepper as needed.
Notes
Store leftovers in an airtight container for up to 4-5 days. This soup can also be frozen for up to 3 months.