Heat the olive oil in a large pot over medium heat. Add the onion, carrots, and celery and cook for 5 minutes until the vegetables begin to soften.
Stir in the garlic and cook for 1 minute until fragrant.
Add the lentils, potatoes, diced tomatoes, vegetable broth, thyme, bay leaf, salt, and pepper. Bring the mixture to a boil.
Reduce the heat to low, cover the pot, and simmer for 25 minutes until the lentils and potatoes are tender.
Remove the bay leaf. Stir in the spinach and cook for 2 minutes until it wilts.
Ladle the stew into bowls and serve with slices of crusty bread on the side.