Preheat your oven to 350°F (175°C). Meanwhile, season the short ribs generously with salt and pepper.
In a large Dutch oven, heat oil over medium-high heat. Brown the short ribs in batches, about 4 minutes per side. Transfer browned ribs to a cooling rack and repeat with the remaining ones.
Pour off excess fat from the Dutch oven, leaving 2 tablespoons. Return to heat, add celery, carrot, onion, and garlic. Cook until browned, about 6 minutes. Stir in tomato paste and cook for an additional minute.
Pour in the red wine, scraping the bottom of the pot to release any flavor-packed bits. Add beef broth, thyme, and bay leaves.
Return short ribs to the pot, add thyme and bay leaves. Cover partially, transfer to the oven, and cook for 2 to 3 hours until fork-tender.
In a saucepan, simmer port until syrupy, about 1 hour. Set aside. Meanwhile, let's prepare the roasted vegetable ensemble.
Toss carrots, beets, potatoes, parsnip, and mushrooms in olive oil, salt, and pepper. Spread them on a baking sheet and roast in the oven for 30-40 minutes, or until golden and tender.
Carefully remove short ribs from the pot. Tent with foil. Skim fat from the braising liquid and strain through a fine-mesh strainer.
Rinse the Dutch oven, return strained liquid, and simmer until reduced to 2 cups, about 1 hour. Add port wine reduction.
Adjust the sauce's thickness; if needed. Season with salt and pepper.
Return short ribs to the Dutch oven, spooning sauce over them. Glaze and rewarm before serving.