Gather the ingredients.
In a large stockpot or Dutch oven, combine beef shanks, beef stock, chopped onion, black pepper, bay leaf, and kosher salt. Cover the pot and bring it to a boil over medium-high heat. Reduce the heat to low, and skim off and discard any foam. Simmer, partially covered, stirring occasionally, for 3 hours, or until the meat is mostly tender.
Remove the beef shanks from the soup. Skim excess fat from the surface of the soup with a ladle or spoon.
Remove the meat from the bones, cut it into small pieces, and add it back to the broth.
Add diced tomatoes, shredded cabbage, green beans, diced potatoes, sliced carrots, chopped celery, Worcestershire sauce, and sugar if using. Continue to simmer for about 45 minutes longer, or until the vegetables and meat are tender. Taste and adjust the seasonings.
Remove the bay leaf and ladle the soup into bowls. Serve hot.
