1. In a pot, bring water and beef to boil. Remove all scum. Reduce heat, cover and let simmer for about 1 hour, until the meat is tender. Remove the meat and strain the broth through a paper towel or cheesecloth, then return to the pot together with meat.
2. Grate carrot and finely chop onion.
3. Shred or finely chop cabbage, cut potatoes into cubes.
4. Add potatoes and cabbage to the soup and bring back to the boil. Reduce heat and simmer, covered, about 10 minutes.
5. Meanwhile, in a skillet, melt butter, add onion and carrot, cook for 7 minutes. Add tomato sauce (or fresh tomato) and cook for another 2 minutes. Add to the soup.
6. Add bay leaves, season with salt and pepper. Cook for another 5 minutes. Turn off the heat and let stand, covered, for 10 minutes.
7. Before serving, cut the meat into desired pieces. Serve shchi garnished with sour cream, dill and scallions (optional).