Preheat oven to 350°F (175°C). Pat the short ribs dry and season all sides with salt and pepper.
In a large Dutch oven, heat olive oil over medium-high heat. Sear ribs in batches for 5–6 minutes per side until deeply browned. Set aside.
In the same pot, sauté onions for 8–10 minutes until softened. Add celery and carrots, cooking for 3–5 minutes more. Stir in garlic and tomato paste, and cook another 2–3 minutes.
Deglaze with 2 cups of beef broth and 2 tablespoon balsamic or red wine vinegar, scraping up browned bits. Simmer for 10–15 minutes to reduce slightly.
Add the remaining 3 cups of broth. Return ribs to pot, nestling them into the liquid. Add bay leaves, thyme, and oregano. Cover and transfer to oven.
Braise for 2½ to 3 hours. Check at the 2-hour mark; ribs should be fork-tender. If not, continue cooking in 30-minute increments.
Remove ribs and cover with foil. Strain braising liquid into a saucepan. Simmer until slightly thickened. Optionally, thicken with a cornstarch slurry.
Serve ribs with sauce spooned over top. Best enjoyed with mashed potatoes, polenta, or crusty bread.