Place the beetroot into a large saucepan and cover with 4 cups of water. Bring to a boil over high heat, then reduce heat to medium-low. Cover and simmer until tender, 20 to 40 minutes. Meanwhile, place the tomatoes and tomato puree in a blender and blend until smooth. Set aside.
Heat the butter in a frying pan over medium heat. Stir in the onion; cook and stir until the onion has softened and turned translucent, about 5 minutes. Stir in the mushrooms and cook until tender, about 10 minutes. Stir in the carrots, celery, tomato mixture, half of the dill and the vegetable stock. Continue cooking and stirring until the carrots are tender, about 10 minutes.
Remove the beetroot from the cooking liquid them place them in the freezer in a bowl. Stir the mushroom mixture, potatoes, kidney beans, including the liquid and 6 cups of water into the beet water. Bring to a boil, reduce heat to medium-low, cover then simmer until the potatoes are tender, about 20 minutes.
Peel then grate the chilled beetroot. Stir the beetroot, cabbage and remaining dill into the soup. Cover and simmer until the cabbage is tender, about 5 minutes. Stir in lemon juice. Season with salt and pepper. Remove from heat and allow soup to rest for at least 2 hours. Bring soup to a boil then serve hot with a dollop of sour cream.