Heat oil in a large pot over medium-high heat.
Add onion, garlic, ginger and curry powder (or garam masala); cook, stirring often, until the onion is starting to soften, 2 to 3 minutes.
Add squash, lentils, tomato and salt; cook, stirring, for 1 minute.
Add water. Cover and bring to a boil over high heat.
Reduce heat to maintain a lively simmer; cook, covered, stirring occasionally, until the squash is tender and the lentils are mostly broken down, about 20 minutes.
Stir in coconut milk and simmer until heated through, about 1 minute.
Serve with lime wedges and cilantro, if desired.
