Warm the olive oil in a large pot over medium heat.
Add sausage and cook, breaking it up, until browned and crumbly. Spoon off excess fat if needed.
Stir in onion, carrots, and celery. Cook until the vegetables begin to soften, about 5 minutes.
Add garlic, tomato paste, fennel, Italian seasoning, and red pepper flakes. Cook 1 minute to bloom flavors.
Pour in diced tomatoes and chicken broth. Scrape up browned bits and bring to a gentle simmer.
Stir in potatoes and simmer 10 minutes, uncovered.
Add cabbage and continue simmering until tender, 15 to 20 minutes.
Season with salt and black pepper. Stir in the vinegar to brighten the broth.
Fold in parsley. Ladle into bowls and finish with grated Parmesan.