Heat oil in a large soup pot/saucepan, add in the onion, and cook until softened and translucent – about 4-5 minutes. Then add in garlic and ginger, and sauté until aromatic – about a minute.
Add in the squash and carrots, and cook for 2 minutes.
Stir in the curry powder and garam masala, and cook for a minute more. Next, add in the lentils, vegetable stock, and salt, and give everything a good stir.
Bring to a boil, then turn the heat down and simmer for 15-18 minutes, or until everything is tender. Stir in the coconut milk, and cook until just heated through – about 2-3 minutes.
Using an immersion blender, or working in batches with a regular blender, puree to desired texture. I like to keep my soup slightly chunky for extra bite. Return the soup to the pot to keep warm.
Depending on the size of your squash, you may want to add in a bit more broth or water if needed. Taste, and adjust any seasonings if necessary.
Finish with a few squeezes of lemon or lime juice, and garnishes of toasted pecan, toasted coconut flakes, and fresh cilantro. Serve warm, and enjoy with some naan or crusty bread!