Start by heating the olive oil in a large pot over medium-low heat. Add the diced carrots, celery, and onion, cooking until they're soft and the onions are translucent, about 10 minutes.
Stir in the tomato paste and cook for about 5 minutes, stirring often to prevent sticking and burning.
Add the hand-crushed plum tomatoes, dried oregano, lentils, optional Parmigiano Reggiano rind, and water. Bring the mixture to a boil, then reduce the heat to maintain a gentle simmer. Cook until the lentils are tender, approximately 45-50 minutes.
Once the lentils are tender, remove the pot from heat and stir in the baby spinach until it wilts.
Taste and adjust the seasoning with kosher salt and pepper. Serve the soup hot with a drizzle of extra virgin olive oil and grated cheese on the side, if desired. Pair with crusty bread for a complete meal.