A great way to use winter vegetables and if your beets have their tops, use them in this soup too. This is warm, hearty, sweet, savory and a touch sour, quick to prepare but needs to simmer for a few hours for the meat to become tender. Alternatively you could make this in a slow cooker or in a Instant Pot pressure cooker. If you omit the beef, this only needs to simmer for 45 minutes and this is soup gets better with time so feel free to make it up to 3 days ahead.
Preheat a large, wide heavy bottomed pot on medium-high. Once hot, add oil and then beef in one layer without crowding. Let it brown without stirring until it is well caramelized, then flip and brown other sides.
Once beef is well browned, add onion and carrot, stirring gently. This will create a bit of moisture and steam and will help loosen the brown bits on the bottom of the pan.
Add in tomato sauce, vinegar and stock, bring to a boil and then reduce heat to low and simmer 2 hours.
Add in beets, beet tops if using and cabbage and simmer 1 more hour. If the soup is reducing too much, put lid on for last hour.
Season with salt and pepper and then serve adding a dollop of sour cream and a sprinkling of dill to each bowl.