Heat the olive oil in a large soup pot. Add the onion and saute over medium-low heat until translucent. Add the garlic and saute until both are golden.
Add lentils, celery, garlic, onion and bay leaves. Cover with 6 cups water. Bring to a boil, then lower the heat to a gentle simmer. Simmer for 10 minutes.
Add potatoes, tomatoes, curry powder and turmeric. Simmer for 15 minutes.
Add cauliflower and simmer 20 minutes longer.
Stir in spinach, cilantro, lemon juice, nutmeg and salt & pepper.
Simmer over very low heat for another 5 minutes.