In a heavy ovenproof pot, add oil and heat over medium high heat.
Pat short ribs dry with paper towels and season with half of the salt and pepper.
Put flour on a plate and add remaining salt and pepper to it, mix it with your fingers and dredge the short ribs in the flour. Shake off the excess flour and set aside.
When the oil is hot, carefully add the ribs to the pot and brown on all sides. You will have to do this in batches; you don’t want to crowd them or they won’t brown properly.
Remove the ribs from the oil and set on a plate lined with paper towel. (This can be done a day ahead if you are pressed for time; cover and refrigerate until ready to braise)
Preheat the oven to 275°F // 140°C // Gas mark 1.
Pour out all but 1 tbsp. of oil and add the onions. Sauté on medium heat until softened, about 8 minutes.
Add a pinch of salt and a few turns of the pepper grinder and stir. Then, add the carrots, celery, and garlic, and cook for an additional 5 minutes.
Add tomato paste, stirring to coat vegetables and cook for another 2 minutes.
Pour in the red wine, scraping up any brown bits on the bottom of the pot as you are deglazing. Add the beef stock and stir to combine. Bring it up to a simmer and let it cook for 2 - 3 minutes.
Using tongs, gently put the ribs back into the pot, along with any juices that have accumulated. Make sure ribs are submerged, or flipped over so the meaty side is down. Add the bay leaves and thyme. Season with a pinch of salt and a few more turns of the pepper grinder. Cover and slide into the oven for 3 - 3 1/2 hours.
Remove the pot from the oven and allow the ribs to cool slightly, uncovered. Remove the ribs and set aside. Remove bay leaves and thyme and discard.
Skim the fat from the surface (see note!), then purée the braising liquid with 1/4 of the vegetables to make a gravy.
Serve short ribs with gravy on the side. Sprinkle with fresh herbs, if desired.