Heat the olive oil in a large pot or Dutch oven over medium heat.
Add the diced onion, carrots, and celery, and sauté for about 5 minutes, until the vegetables are softened.
Stir in the minced garlic, ground cumin, ground coriander, paprika, and black pepper. Cook for an additional 1-2 minutes until fragrant.
Rinse the lentils under cold water and add them to the pot, stirring to combine with the vegetables and spices.
Pour in the broth and add the canned tomatoes (with their juices) and bay leaves. Bring the mixture to a boil.
Once boiling, reduce the heat to low, cover, and let simmer for 25-30 minutes, or until the lentils are tender.
Remove the bay leaves, season with salt to taste, and stir well.
Serve hot, garnished with chopped fresh parsley.
For a thicker consistency, blend part of the soup with an immersion blender.