Rinse lentils until clean. Bring 4 cups of water to a boil in a pot. Add lentils. Stir and cover, leaving lid slightly open. Cook until tender, occasionally skimming off any foam. After 20 minutes, lentils should be well cooked. Turn heat off and mash dal with potato masher for a creamier texture.
Heat up a pot on medium and add oil. When the oil is hot, add cumin seeds. When they pop and turn color, add onion, ginger and ¼ tsp salt. Sauté until soft. Add garlic. Sauté until golden.
Add turmeric, chili powder, garam masala and fenugreek powder. Cook for 10 seconds until the raw flavor of the spices disappear. Add chopped tomatoes, ¼ tsp salt and stir. Cover and cook until tomatoes are soft and oil separates. Add sweet potatoes, ¼ tsp salt and about 1 cup water, barely to cover potatoes. Stir, cover and cook until ¾ done, about 10 minutes. Add green and red bell peppers, cauliflower, about 1 cup water and salt to taste. Cover and cook for 5 minutes. Add cooked dal and stir. Cover and cook on low heat for 5 minutes. Taste and adjust salt. Add fresh lemon juice. Add chopped coriander leaves if you like.
Serve curry over rice or with bread. Serve additional lemon or lime wedges on the side to squeeze over curry according to your taste.
****Add less chili powder for mild curry.
*** Do not cut vegetables into small pieces. Cut them into about an inch size to avoid over cooking.