Heat oil in a large soup pot over medium heat. Add onions, carrots, and celery; cook and stir until onion is tender, 3 to 5 minutes. Stir in garlic, bay leaf, oregano, and basil; cook for 2 minutes.
Stir in lentils, and add water and tomatoes. Bring to a boil. Reduce heat and let simmer until lentils are tender, at least 1 hour.
When ready to serve, stir in spinach and cook until it wilts. Stir in vinegar and season with salt and pepper; taste and adjust as needed.