Preheat oven to 300°F (150°C). Season short ribs generously all over with salt and pepper. In a large Dutch oven over medium-high heat, heat oil until shimmering. Working in batches, sear ribs on all sides until deeply browned, about 4 minutes per side. Transfer to a plate; pour off all but 2 tablespoons of fat.
Reduce heat to medium. Add onion, carrots, and celery to the same pot and cook, stirring occasionally, until softened and lightly browned, 6–8 minutes. Stir in garlic and tomato paste and cook 1 minute more until fragrant.
Pour in the red wine, increase heat to high, and simmer until reduced by half, about 8 minutes, scraping the bottom to release fond. Add beef broth, rosemary, thyme, and bay leaves; bring to a boil.
Nestle the short ribs, bone side up, into the liquid. The ribs should be partially submerged but not drowned. Cover the Dutch oven with a tight-fitting lid and transfer to the preheated oven. Braise for 3.5 to 4 hours, until the meat is fork-tender and reaches a safe minimum internal temperature of 145°F (63°C) for beef. (Note: for the signature fall-apart texture, the internal temperature will likely be higher — around 200°F/93°C — as collagen melts.)
Carefully remove ribs to a serving platter and tent with foil. Pour braising liquid through a fine-mesh strainer into a fat separator or bowl; discard solids. Let sit a few minutes, then skim excess fat. If desired, boil the sauce in a saucepan until thickened to a silky consistency.
Arrange short ribs over mashed potatoes, polenta, or egg noodles. Spoon the rich sauce over the top and sprinkle with parsley and optional gremolata (mix parsley, lemon zest, and minced garlic).