Place the lentils in a fine mesh sieve and wash under cold running water, agitating them with your hand until the water runs clear.
Gently heat the oil in a large heavy-bottomed saucepan and cook the onion until it starts to soften. Meanwhile, prepare the stock and remaining vegetables.
Add the garlic, ginger and dry spices to the pan, and cook on medium-low heat for 2 minutes. If it starts to stick to the pan, add a splash of water to loosen it. Add the lentils and stir through.
Add the stock, tomatoes (or tomato puree), squash and creamed coconut. Bring to the boil then reduce the heat, cover with a lid, and simmer for 15-20 minutes. Stir towards the end of the cooking time and add a splash of extra stock or water, if needed. When the lentils are tender, remove the pan from the heat and leave to rest for a couple of minutes. Season with salt and freshly ground black pepper, to taste.
This dish is delicious served with vegan naan breads, chapattis (or soft flour tortillas) and/or brown rice. We also love to add a side dish of sautéed kale and mushrooms or roasted broccoli (to add some greens to our plate!) Any leftover dhal can be stored for up to five days in the refrigerator or for weeks in the freezer.