Preheat oven to 180°C. Place beef in a bowl and toss to coat in oil.
Heat a large casserole or deep frying pan over high heat and brown beef in two batches.
Add onions and cook, stirring occasionally for 3 minutes or until softened. Add garlic, ginger and curry powder and stir until fragrant, about 30 seconds. Add tomatoes, lentils and 2 cups water and bring to the boil. Reduce heat to low, cover and bake for 1 hour.
Sprinkle diced eggplant lightly with salt and set over a colander to drain. Add drained eggplant and cauliflower to curry, stir in to sauce, cover and cook for another 30 minutes or until beef is tender. Season with salt, pepper and lemon juice.