In a large stockpot, heat olive oil and saute leeks or onion, celery and carrots over a moderate heat, until soft.
Add cumin and garlic and saute vegetables 2 more minutes.
Add rinsed, drained lentils, ham hocks and chicken stock and bring soup to a boil. Lower heat, cover pot PARTLY, and simmer for 1 hour.
Remove ham hocks. Puree about half of the cooked lentils in a blender or food processor. Be careful if you are using a blender, as the hot soup will rise, so use only 3-4 ladles at a time. Return the pureed soup to the stock pot.
Add the chopped spinach, lemon juice, salt and pepper to taste and simmer soup an additional 15 minutes.
If the soup seems too thick, you can add some additional chicken stock. It is thick and delicious and great served with a country bread.