Heat the olive oil and butter in a large flameproof casserole dish. Add the onion and saute over medium-to-low heat with the lid on for about eight-to-10 minutes, until the onion turns translucent. Then add the garlic, ginger and coriander stems and stir well.
Add the pumpkin, sweet potato, spices, curry leaves, cinnamon, and bay leaves. Stir for a few minutes.
Deglaze the pan with the coconut milk (and tomatoes, if using), thoroughly scraping the bottom of the pan. Stir in the lentils, stock, palm sugar, and water. Bring to a boil and simmer for 20 to 25 minutes, until the lentils have broken down and become creamy, and the sweet potato is fork-tender.
Remove the cinnamon stick and bay leaves. Stir in the lemon juice, then adjust the seasoning with salt and pepper.
Before serving, add the spinach and peas and cook for two minutes.
Serve topped with yoghurt, red chillies, and coriander leaves, with lemon wedges.