Heat oil in a large pot over medium heat. Add onion and garlic; cook and stir until the onion has softened and turned translucent, about 5 minutes. Stir in cumin, coriander, and cayenne pepper; cook for 1 minute.
Pour in the broth and tomatoes with their juice. Bring to a boil; add lentils and ginger root. Reduce heat to low and simmer until the lentils are tender, about 25 minutes.
Stir in the coconut milk and heat through before serving.
Garnish with fresh chopped parsley or cilantro if desired.