Heat up the olive oil in a soup pot over medium heat. Add the diced onion and carrot. Sauté until the onion softens and starts to turn golden. Add the garlic and sauté for 1-2 minutes longer until fragrant. Add the tomato paste, cumin, cayenne, salt and black pepper. Stir and sauté for 2 minutes longer. Add the vegetable stock, water, lentils and bay leaf. Bring to a simmer then cover the pot, slightly vented. Let the soup cook for about 30 minutes until the lentils are soft. Remove soup from heat, remove the bay leaf and discard. Use an immersion blender to puree the soup halfway, so that it thickens but still has texture. Put soup over medium heat again. Add the fresh spinach leaves and cilantro. Stir the greens into the soup for 1-2 minutes until just wilted (covering the pot will wilt them faster). Turn off the heat and stir in fresh lemon juice to taste. Adjust seasonings if desired, and serve.