Melt the butter over medium heat and add the cabbage and onions. Saute until translucent and the cabbage begins to take on a little color. Add the garlic in the last few minutes of cooking.
Combine the tomatoes and onion and bring to a boil. Stew for 30 minutes.
Be sure to use a large pot. Add the water to the pot along with the whole potatoes and beet and bring to a boil while preparing the other ingredients. Once the other ingredients are all chopped add them to the pot to begin to cook.
Once the whole potatoes are cooked, remove them from the pot into a bowl, add some of the cream and mash thoroughly. Once all the other ingredients in the large pot are cooked, remove the beet and discard(or save for another use) and return the mashed potato to the pot along with the contents of the other pots and the rest of the cream. If you prefer a thinner soup, you can add a little extra water as well.
Bring up to temperature, careful not to boil as the cream may curdle. Stir in the dill when heated, and serve hot with fresh bread or buns and a dollop of sour cream.
The save a little bit of time, I sometimes use bagged coleslaw mix in place of the cabbage. I still cut up carrots(although maybe a little less) even though my coleslaw mix has carrots in it. I'll leave it up to you to decide how much to use, but keep in mind that half of a large head of cabbage is quite a lot, and it cooks down a lot too so use plenty!
As I mentioned in the instructions, I like to start boiling my water, whole potatoes and beet while I'm preparing the other ingredients that don't need as much cooking, this will save time too.
If you'd really rather not use three pots, add the contents of pot #2 to pot #3 and just use two pots.