Add the olive oil to a large pot over medium-high heat.
Once the oil is hot, add the onion and stir. Allow to cook for 3 minutes or until translucent, then add the garlic and cook for 30 seconds, stirring often.
Add the salt, turmeric, cumin, garam masala, paprika, coriander, pepper, and ginger. Stir continuously for 30 seconds.
Add the lentils and tomatoes to the pot. Stir to combine and allow to simmer for 5 minutes.
Then add the coconut milk and stir till fully combined. Bring to a boil, then reduce to a simmer. Allow to simmer for 15 to 30 minutes, or until the curry is reduced.
Turn off the heat. Add the spinach and stir till it has wilted.
Optional - Serve with rice or flatbread and top with tomatoes and cilantro.