In a heavy saucepan, cook the bacon, onion, and apples over medium-low heat until onions are limp, about 3 minutes. Add the cabbage. Cook about 10 minutes, uncovered, over medium heat until the cabbage wilts, stirring now and then. Add the remaining ingredients. Reduce heat to low, cover, and cook for 20 minutes. The cabbage should be moist, but not juicy. If liquid accumulates, remove lid at the end of the cooking period to cook off some liquid.
If sauerkraut is not served at a holiday table, this might be a very delicious substitute. The addition of bacon to the traditional sweet-and-sour red cabbage gives it smoky undertones. This can be made in advance and reheated.
For vegetarians, substitute a LITTLE smoke flavor for the bacon.