Pat the short ribs dry with paper towels and season generously with salt and black pepper.
Heat olive oil in a Dutch oven over medium-high heat. Sear the short ribs on all sides until deeply browned, about 3-4 minutes per side. Remove and set aside.
In the same pot, add onions, carrots, and celery. Cook for 5 minutes until softened. Stir in the garlic and tomato paste, cooking for another minute.
Pour in the red wine, scraping up any browned bits from the bottom of the pot. Let it simmer for 3-4 minutes to reduce slightly.
Add the beef broth, thyme, rosemary, and bay leaf. Return the short ribs to the pot, ensuring they are partially submerged in the liquid.
Cover the pot and reduce heat to low. Simmer for 2.5 to 3 hours until the meat is fork-tender and nearly falling off the bone.
Remove the short ribs and strain the sauce if desired. Simmer the sauce for 10 minutes to reduce and thicken.
Serve the short ribs over mashed potatoes, polenta, or buttered noodles, drizzled with the thickened sauce.