Preheat oven to 350 F. Heat a large dutch oven over high heat for 5 minutes. Meanwhile, season beef ribs on all sides with salt and pepper. When very hot, add canola or vegetable oil to pan.
Sear ribs on all sides until golden brown, about 2-3 minutes per side, for a total of 12-15 minutes. If your dutch oven won't comfortably fit all the ribs, sear them in batches. Transfer seared ribs to a plate, then reduce heat to medium-high. At this point you can drain all but 2 Tbsp of fat from the pan if you'd like (but nothing will happen if you don't!). Add onion, carrots, and garlic, then cook, stirring occasionally, until translucent - about 3 minutes.
Add whole tomatoes either by crushing them with your hands directly into the pot or by pouring them in and breaking up with the back of a wooden spoon. Add tomato paste, then stir until dissolved into sauce.
Pour in red wine, beef or chicken stock, and soy sauce, then bring to a boil.
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.
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, then using your hands or two forks, shred the beef.
Drain the braising liquid into a serving bowl, discarding the vegetables and herbs. Return pulled beef to the braising liquid.
When ready to serve, cook pasta until al dente according to package directions, then drain. Spoon the braised beef and sauce on top of pasta. Serve with burrata, parsley, and freshly grated cheese.