Gather ingredients before starting the recipe.
In a large soup pot, heat 1 tablespoon of oil over medium high heat.
Add beef and sear both sides until the beef loses it's color and starts to brown, about 4-5 minutes per side. Remove seared beef to a plate and reserve.
Add 2 more tablespoons of oil to the stock pot and add sliced onions and generously season with kosher salt and black pepper. Stir to combine and cook for about 10 minutes, stirring frequently.
Thinly slice cabbage and add to sautéed onions.
Return seared beef to stock pot, add tomato sauce and chopped tomatoes. Season well with kosher salt and black pepper. Stir to combine.
Add 2 cartons of beef stock, bring the soup to a boil, then reduce heat to medium low.
Cover stock pot with the lid propped open with a wooden spoon and simmer the soup for 2 to 2 1/2 hours.
Cool soup to room temperature then place in the refrigerator over night.
The next day, degrease the soup and gently reheat. Remove the beef and cut into bite sized pieces, then return to the soup.
Add the ketchup, brown sugar and vinegar and taste for seasoning. The soup should taste sweet and sour and should be quite thick.