Season the short ribs. Preheat oven to 350°F (175°C). Heat a large Dutch oven over high heat for 5 minutes. Meanwhile, season ribs generously on all sides with kosher salt and black pepper. When very hot, add 2 Tbsp neutral oil to pan.
Sear the ribs. Sear the short ribs on all sides until golden brown, about 2-3 minutes per side, for a total of 12-15 minutes. If your Dutch oven or pot won’t comfortably fit all the ribs, sear them in batches. Transfer the beef to a plate, then reduce heat to medium. Drain all but 2 Tbsp of fat from the pan, then add chopped onion, carrots, and garlic. Cook, stirring occasionally, until translucent – about 3 minutes.
Add tomatoes. Stir in 2 Tbsp tomato paste until dissolved, then add 1 can of whole tomatoes. You can crush them with your hands directly into the pot or pour them in and then break them up with the back of a wooden spoon.
Add remaining liquid. Pour in 2 cups (475ml) red wine, 2 cups (475ml) beef broth, and ¼ cup (60ml) soy sauce, then bring to a boil.
Return ribs to the pot, along with any juices on the plate. Using kitchen twine, tie together thyme and rosemary, then place in the pot with the bay leaves. Cover with lid, then transfer to preheated oven and cook until tender and falling off the bone, about 2½–3 hours.
If not serving the ribs whole, shred the meat (optional). Use tongs to carefully remove the beef ribs and place in a large bowl. Cool until you’re able to handle the beef with your hands. Discard beef bones and cartilage, then using your hands or two forks, shred the beef.
Serve: You can discard the herbs, but the veggies are tender and delicious. If adding the shredded beef to another dish, feel free to strain the braising liquid. Return beef to the pot, then use in your favorite dishes. Or leave the beef ribs whole and spoon over mashed potatoes or polenta. Always finish with a sprinkle of flaky sea salt. Enjoy!