In a Dutch oven or large pot, heat the olive oil over medium high heat. Saute the onion until soft, around 5 minutes.
Add the cabbage, apples, garlic, apple cider vinegar, red wine vinegar, apple cider, port or sherry (optional), caraway seeds, and a bit of salt and pepper. Cover and cook on low heat until the cabbage is tender, around 15 to 20 minutes.
Allow to cool a bit, and season with additional salt and pepper to taste.