Heat 2 tablespoons oil in a large saucepan over low heat and cook onion, stirring frequently, until soft and translucent about 10 minutes. Add ginger, garlic, coriander, cumin, and turmeric and cook, stirring continuously, for 2 minutes. Stir in lentils and pour in vegetable stock. Bring to a boil, reduce heat, cover, and simmer gently for 10 minutes.
Meanwhile, heat the remaining 1 tablespoon oil in a skillet over medium heat and cook cauliflower until lightly browned, 2 to 3 minutes.
Stir cauliflower, coconut milk, and carrot into the lentil mixture. Bring the curry back to a gentle simmer and cook until vegetables are tender, about 10 minutes. Stir in green beans and cook for an additional 3 to 4 minutes.
Stir 3 tablespoons cilantro and lemon juice into the curry. Season with salt and pepper. Spoon onto a warmed serving dish and garnish with cilantro sprig.