In large saucepan, place lentils, coriander, turmeric, salt, onion, tomato, and 5 cups water. Bring to a boil, then simmer over medium-low heat for 15 minutes, or until lentils are tender and beginning to break up.
Using mortar and pestle, pound garlic, ginger, and cumin seeds into a paste.
In skillet, heat ghee or butter over medium-low heat. Add curry leaves, mustard seeds, and garlic paste and cook for 4 minutes, or just until seeds begin to pop and mixture starts to brown. Stir spice mixture into lentil mixture; simmer for 5 minutes.
To make roti, to a medium bowl, add flour, coconut, onion, cilantro, salt, and 1/2 cup water and mix well, using your hands or wooden spoon. The mixture should be just slightly sticky. If mixture is too dry, add 1 Tbsp of water. Knead slightly into a ball. Separate into 4 smaller balls and set aside to rest for about 15 minutes.
Sprinkle flour on work surface and use rolling pin to flatten balls into discs about 1/4 inch thick.
Heat cast iron or nonstick skillet over medium-high heat. Transfer a roti onto heated skillet and cook for 2 to 3 minutes, until bottom starts to develop brown spots. Flip roti over and cook other side for 2 to 3 minutes, until brown spots appear also on that side. Place cooked roti on wire rack to cool. Repeat with remainder of the roti. Serve alongside dal.