Pat the short ribs completely dry with paper towels. Season all sides generously with salt and pepper. Let rest at room temperature for 15-20 minutes.
Heat olive oil in a large skillet over medium-high heat until shimmering. Sear the ribs in batches for 2-3 minutes per side until deep golden-brown. Transfer to the slow cooker.
In the same skillet, cook the diced onion for 4-5 minutes until softened. Add the garlic and cook for 1 minute, stirring constantly. Scrape up any browned bits from the pan bottom.
Pour in the red wine and simmer for 3-4 minutes to cook off the alcohol. Stir in the tomato paste and Worcestershire sauce, then add the beef broth and bring to a simmer.
Pour the braising liquid over the ribs in the slow cooker. Add the carrots and celery, then tuck in the thyme, rosemary, and bay leaves. Ensure ribs are mostly submerged.
Cover and cook on LOW for 8-9 hours or on HIGH for 4-5 hours, until the meat is fork-tender and falling off the bone. Resist opening the lid during cooking.
Transfer the ribs to a serving platter and tent with foil. Discard the herb sprigs and bay leaves. Skim excess fat from the braising liquid.
In a small bowl, whisk cornstarch with cold water. Pour the braising liquid into a saucepan, bring to a simmer, and whisk in the slurry. Cook 3-5 minutes until thickened. Season to taste.
Return the short ribs to the slow cooker or arrange on a platter. Pour the thickened gravy over the top, garnish with parsley, and serve hot.