Place potatoes, beets, and water in a medium sized saucepan. Cover and cook over medium heat until tender (20 to 30 minutes). Meanwhile, melt the butter in a kettle or Dutch oven. Add onion, caraway seed, and salt. Cook over medium heat, stirring occasionally, until the onions are translucent ( 8 to 10 minutes). Add celery, carrots, and cabbage, plus 2 cups of the cooking water from the potatoes and beets. Cover and cook over medium heat until the vegetables are tender (another 8 to 10 minutes). Add the remaining ingredients (including all the potato and beet water), cover, and simmer for at least 15 more minutes. Taste to correct seasoning, and serve hot, topped with sour cream or yogurt and a light dusting of dill.