2 pounds (1kg) boneless beef chuck roast, cut into 1 1/2–inch steaks, or 3 pounds (1.3kg) bone-in beef short ribs, ribs removed and reserved (see note)
Kosher salt and freshly ground black pepper
1 tablespoon (15ml) canola oil
3 large carrots (10 ounces; 280g), diced
1 large yellow onion (12 ounces; 340g), diced
2 ribs celery (6 ounces; 170g), diced
4 medium cloves garlic, roughly chopped
3 quarts (3L) homemade or store-bought chicken stock (see note)
Sachet of 2 sprigs fresh thyme, 1 bay leaf, and about 5 whole black peppercorns
1 cup pearled barley (7 ounces; 200g)
1/2 teaspoon (3ml) Asian fish sauce (optional)
Minced fresh parsley, for garnish
Season beef with salt and pepper. In a large pot or Dutch oven, heat oil over high heat until lightly smoking. Working in batches if necessary, add beef and cook, turning occasionally, until well browned on all sides, about 5 minutes per side. Transfer to a large platter.
Add carrot, onion, celery, and garlic to pot and cook, stirring and scraping up any browned bits from the bottom, until lightly browned, about 6 minutes. Scrape vegetables into a heatproof bowl and set aside. Add stock to pot, return to heat, and scrape up any browned bits from bottom of pot.
Meanwhile, cut beef into chunks and add to pot, along with reserved bones, if using, and herb sachet. Bring to a simmer, then reduce heat to maintain a low simmer and cook until beef is tender, 1 to 2 hours; skim any foam that rises to the top.
Discard bones and herb sachet. Add barley, reserved vegetables, and fish sauce, if using, and simmer until barley and vegetables are tender, about 30 minutes. Season with salt and pepper. If soup is too dry, top up with water to achieve desired consistency. Serve, garnishing with parsley.