Rinse the lentils in cold water and drain.
In a large pot, heat the olive oil over medium heat. Add the onion and garlic and cook until softened, about 3-5 minutes.
Add the carrots and celery and cook for another 5 minutes, stirring occasionally.
Add the lentils, broth, thyme, bay leaf, salt, and pepper. Bring the mixture to a boil, then reduce the heat to low and cover the pot. Let the soup simmer for about 30-40 minutes, until the lentils are tender.
Remove the bay leaf and discard. Use an immersion blender or transfer the soup to a blender and blend until smooth.
Taste the soup and adjust seasoning if needed.
Serve the soup hot, topped with chopped parsley, Parmesan cheese, and/or croutons if desired.