Heat oil in a large stockpot over medium high heat. Add onion, fennel, potatoes and cook for about 5 minutes. Stir in garlic and cook for 30 seconds.
Add tomatoes and stock. Bring to a boil then reduce heat and simmer until potatoes are tender, about 10 minutes.
Stir in vinegar, cannelloni beans and Swiss chard and cook until Swiss chard is tender, about 5 minutes. Salt and pepper to taste.
Garnish with Parmesan cheese and serve immediately.