If using a can of whole San Marzano tomatoes, drain the liquid into a bowl and reserve. Dice the tomatoes on a cutting board and add them to the reserved liquid.
Chop onion, carrots and celery.
In a large Dutch oven or stock pot, heat the olive oil until shimmering.
Add the onion, carrots, and celery, and cook, stirring often until the vegetables have softened, about 5 minutes.
Mince the garlic and add. Continue to cook a minute or two.
Add the remaining ingredients except the last 3 (spinach, lemon juice and parsley) and bring to a boil.
Reduce the heat to a simmer, and continue to cook for about 25 minutes until the lentils are tender but still hold their shape.
Add the spinach and stir until wilted. Stir in the lemon juice. Save a tablespoon of parsley for garnish, stir the rest into the soup.
Taste and adjust seasoning with salt and pepper as needed.
Serve topped with parsley and garnish of choice (fresh basil, Parmesan shavings, a teaspoon of pesto, pine nuts...)