Brown the sausage: Set a large pot or Dutch oven over medium-high heat. Add the sausage and cook, breaking it into small pieces, until deeply browned and cooked through, 6–8 minutes.
If the pot looks dry, add a splash of olive oil.
Sauté the aromatics: Add the onion, carrots, and celery. Season with a pinch of salt. Cook, stirring often, until the vegetables soften and pick up some color, about 6–8 minutes.
Add garlic and spices: Stir in the garlic, smoked paprika, red pepper flakes, and oregano.
Cook until fragrant, about 30–60 seconds. Don’t let the garlic brown.
Tomato boost: Add the tomato paste and cook, stirring, for 1–2 minutes to caramelize it slightly. This adds sweetness and depth.
Build the soup: Stir in the diced tomatoes with their juices, lentils, bay leaf, broth, and parmesan rind if using.
Bring to a boil, then reduce to a steady simmer.
Simmer until tender: Partially cover and cook, stirring occasionally, until lentils are tender but not mushy, 25–35 minutes for green or brown lentils. Add water or broth if the soup gets too thick.
Greens and finish: Stir in the chopped kale or spinach and simmer 3–5 minutes, just until wilted and tender. Fish out the bay leaf (and parmesan rind).
Stir in 1 tablespoon vinegar or a squeeze of lemon. Taste and adjust salt, pepper, and heat.
Serve: Ladle into bowls and finish with grated parmesan, parsley, and a little olive oil if you like. Serve with crusty bread.