Melt butter in a medium stockpot or Dutch-oven (at least 11 inches in diameter) over medium-high heat. Add sugar and salt, and stir to dissolve. Add apples and onion, in as close to a single layer as possible. Turn to coat in butter mixture. Let cook, shaking pan occasionally and turning over once, until sugar is beginning to caramelize and coat the apples and onions, about 10 minutes.
Add cabbage, vinegar, and water. Bring to just a boil. Reduce to a simmer, cover, and cook until cabbage is tender and liquid is reduced to a syrup, 25 to 30 minutes. If necessary, remove lid in the last 5 minutes and cook, uncovered, to reduce liquid to desired consistency; most of the apples will disintegrate.
Transfer cabbage and apples to a bowl and serve immediately.