Gather ingredients before starting the recipe.
In a large soup pot, heat 1 tbsp vegetable oil over medium high heat.
Add 1 lb beef short ribs or beef shank 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 tbsp vegetable oil to the stock pot and add 2 large onions, thinly sliced and generously season with kosher salt and freshly ground pepper. Stir to combine and cook for about 10 minutes, stirring frequently.
Thinly slice 1 small head cabbage and add to sautéed onions.
Return seared beef to stock pot, add 1 18 oz can chopped tomatoes and 1 cup passata or tomato sauce. Season well with kosher salt and freshly ground pepper. Stir to combine.
Add 2 quarts 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 overnight.
The next day, degrease the soup and gently reheat. Remove the beef and cut into bite sized pieces, then return to the soup.
Add 1/4 cup ketchup, 1/4 cup brown sugar and 1/4 cup cider vinegar and taste for seasoning. The soup should taste sweet and sour and should be quite thick.