Sift through the dry lentils to pick out anything that is not a lentil (often times little rocks or leaves are found with dry lentils and we don’t want those). Once picked over, give the lentils a good rinse and set aside.
Add about ¼ cup olive oil to a 6-quart dutch oven or pot on medium heat. Once the oil has heated, add the garam masala, cumin, turmeric, paprika, cinnamon, coriander, ginger powder, and cayenne if using. Stir the spice into the oil. Allow to bloom in the olive oil for about 15-30 seconds, then add the diced onion and the remainder of the olive oil. Mix together, then sautee for 3 minutes. Then, add the grated ginger and minced garlic. Stir, and sautee for about 8 minutes more.
Add the stock or broth, water, diced or crushed tomatoes, and salt, then stir together. Add the lentil and diced sweet potatoes. Bring the pot to a boil.
Foam may appear at the top of the pot as the soup boils. Skim off the foam/scum with a small fine mesh skimming tool or a regular spoon.
Lower the heat to simmer, then cover the lid and allow the soup to simmer for 25 minutes. Then, take off the heat.
Using an immersion blender, pulse-blend the soup for about 10 seconds, or until your desired consistency is reached. Alternately, you can scoop some soup out into a blender or a food processor if you don’t have an immersion blender.
Lastly, add the spinach. It will appear to be a lot, maybe even too much, but they will wilt down. Fold in the spinach leaves and then cover the pot for about 5-10 minutes for the spinach to cook in the soup through the residual heat. Do not turn the heat up again.
Lastly, I like to add a squeeze the juice of ½ lemon into the pot before serving. It adds a little bit of acid towards the end without a lemony flavor. This step is optional.
Serve warm and enjoy!