In a large, heavy saucepan, heat oil and butter. Cook onion until softened. Add garlic, cabbage and carrots. Cook, stirring occasionally, until cabbage is slightly softened. Add chopped beets, reserved beet liquid, tomatoes, water, stock, vinegar, sugar and dried dill.
Cover and simmer for about 30 minutes until cabbage is very soft. Add salt and pepper to taste. Serve hot, garnish each bowl with sour cream and chopped fresh dill.