Rinse lentils in a sieve. Place in a medium saucepan with 2 cups of water. Bring to a boil over high heat then reduce to low, cover and cook for 20 minutes.
Meanwhile, to a blender or food processor add red onion, egg, bread crumbs, ginger, garlic, garam masala, 1/2 tsp salt, and 1/4 tsp pepper. When lentils are done drain them and add to the blender or food processor. Pulse until well combined but do not blend into a paste. Stir together to ensure a uniform distribution of ingredients. Form mixture into 2 tbsp balls and place on a plate.
Add rice and 1 1/3 cups of water to a small saucepan. Bring to a boil then cover, reduce heat to low, and cook for 20 minutes.
Meanwhile, heat oil in a large skillet over medium heat. Add lentil balls and cook 3-4 minutes per side until browned.
While lentil balls are cooking combine tomatoes, coconut milk, curry powder, and a heavy pinch of salt in a medium bowl. Add to the skillet with the meatballs and bring to a low boil then reduce heat to low and simmer for 10-12 minutes, stirring gently and infrequently.
Divide rice amongst bowls and top with lentil balls and sauce. If desired drizzle with yogurt and sprinkle with chopped cilantro.