Preheat oven to 300F. Season short ribs with salt and pepper. Sear on all sides in a Dutch oven, about 3-4 minutes per side, until deeply browned.
Add onion, carrots, and celery to the pot. Cook 6-7 minutes until softened. Add garlic and tomato paste, stirring 1 minute.
Pour in grape juice and balsamic vinegar, scraping up browned bits. Add beef broth, thyme, and bay leaf.
Return short ribs to the pot, mostly submerged. Bring to a simmer, cover, and braise in the oven for 3 hours until fork-tender.
Transfer short ribs to a plate. Strain the braising liquid into a saucepan, discarding solids.
Simmer the strained liquid uncovered for 15-20 minutes until reduced by half and thickened.
Spoon the reduction over the short ribs.