Heat your Dutch oven over medium-high heat. Add the Italian sausage, breaking it up with a wooden spoon as it cooks. Let it brown properly – those caramelized bits are pure flavor. This should take about 5-7 minutes.
Remove the cooked sausage with a slotted spoon and set aside, leaving the flavorful fat in the pot. If there's very little fat left, add a tablespoon of olive oil.
Add the onion, carrots, and celery to the pot. Cook for about 5 minutes until the vegetables begin to soften, stirring occasionally. This trio is the flavor foundation, so don't rush this step.
Toss in the garlic, dried thyme, oregano, and red pepper flakes (if using). Cook for another minute until fragrant. Your kitchen should smell amazing right about now.
Add the tomato paste and cook for 2 minutes, stirring frequently. This step caramelizes the tomato paste, adding depth to your soup.
Return the cooked sausage to the pot along with the lentils, diced tomatoes (with their juice), chicken broth, and bay leaves. Season with salt and pepper.
Bring to a boil, then reduce heat to maintain a gentle simmer. Cover partially and cook for about 30-35 minutes, or until the lentils are tender but not mushy.
Stir in the spinach or kale and cook for another 5 minutes until the greens are wilted.
Remove from heat and stir in the balsamic vinegar. This might seem like a small addition, but it adds a bright note that balances the richness of the soup.
Remove the bay leaves before serving. Ladle into bowls and top with a generous sprinkle of Parmesan cheese and fresh parsley.