Place sliced potatoes and beets in a medium saucepan over high heat; cover with stock, and boil until vegetables are tender. Remove potatoes and beets with a slotted spoon, and reserve stock.
Melt butter in a large skillet over medium heat. Stir in onions, caraway seeds, and salt; cook until onions become soft and translucent. Then stir in celery, carrots, and cabbage. Mix in reserved stock; cook, covered, until all vegetables are tender, about 10 minutes.
Add potatoes and beets to the skillet. Season with black pepper and dill weed. Stir in cider vinegar, honey, and tomato puree. Cover, reduce heat to medium low, and simmer at least 30 minutes. Serve topped with sour cream, extra dill weed, and chopped fresh tomatoes.
Note: For low calorie option, I like to put chopped onion directly into the stock (without sauteeing it first in butter). Also use low fat or light sour cream.