Start the Sauté: Heat the olive oil in a large pot or Dutch oven over medium heat. Add the onions, garlic, carrots, and celery. Sauté, stirring frequently, until the onions become translucent, about 5-6 minutes.
Combine the Ingredients: Add the lentils, diced tomatoes, broth, ground coriander, cumin, black pepper, all-spice, and ginger. Stir well to combine everything.
Simmer the Soup: Bring the mixture to a boil. Then, reduce the heat to low, cover the pot, and let it simmer for about 30-35 minutes. This allows the lentils to become tender and the flavors to meld.
Season and Add Lemon Juice: After the lentils are tender, season the soup with salt and ground black pepper to taste. Remove the pot from the heat and stir in the fresh lemon juice.
Blend for Creaminess (Optional): For a creamier texture, use an immersion blender to blend some of the soup directly in the pot. Alternatively, transfer about 2 cups of the soup to a regular blender, blend until smooth, and return it to the pot. Stir well to combine. If the soup is too thick, add additional broth to reach your desired consistency.