Heat olive oil or coconut oil in a large Dutch oven or soup pot over medium heat. Add the onion, garlic, ginger, cilantro, red pepper flakes and 1 tsp salt. Cook for 5-7 minutes, occasionally stirring, until the onion is translucent and soft. Add the curry powder and stir for one minute more, then add the squash and stir.
Add 3 cups of broth or enough to submerge the squash and coconut milk (if you are also using cream, do not add it at this point). Season with 2 tsp of salt, then stir to continue. Raise the heat to high and bring the soup to a boil. Once the soup boils, reduce the heat to medium-low and simmer for 15-20 minutes until the squash is tender, occasionally stirring, so nothing sticks to the bottom of the pot.
Once the vegetables are tender, remove the pot from the heat. Using an immersion blender, purée the mixture until the soup is smooth. Then return the pot to medium-low heat. If the soup is too thick, add more broth or water until you reach the desired consistency. If you’re using cream, add it now. Stir in the lime juice (start with one lime and add more if needed)—season with salt and pepper to taste.
Ladle the soup into the bowls. Top with a drizzle of coconut milk, toasted coconut, lime wedges and cilantro. Enjoy!