Tie the parsley, thyme, rosemary, and bay leaf together with kitchen twine to create a herb bundle. Set aside.
Pat the short ribs dry with paper towels and season generously on all sides with salt and black pepper.
Heat a large heavy pan over medium heat until smoking hot (about 5 minutes).
Add the oil then when it’s shimmering working in batches adding the short ribs. Sear on all sides for 2-3 minutes until deeply golden brown. Allow each side to develop a rich crust before turning. Transfer the ribs to a plate once browned.
In the same pan, add the onion, carrots, and celery. Cook over medium high heat, stirring occasionally, until the vegetables soften and are slightly caramelized.
Add the garlic cloves and cook briefly until fragrant. Stir in the tomato paste and cook for a minute or two until it darkens slightly and coats the vegetables.
Pour in the red wine and scrape up any browned bits from the bottom of the pan.
Increase the heat and simmer until the wine reduces to a thick, glossy consistency and the volume is reduced to about ¾ cup.
Return the short ribs to the pan, nestling them into the reduced wine and vegetables. Pour in enough of the beef stock so the liquid comes about three quarters of the way up the ribs. Add the herb bundle and lightly season.
Bring the liquid to a gentle simmer, then cover and cook, until the ribs are tender but still holding their shape, checking after about 2 hours. Continue cooking if needed until a knife slides in easily.
Carefully remove the ribs from the pot and set aside to rest.
Strain the cooking liquid into a saucepan, discarding the vegetables and herbs. Bring the liquid to a simmer and cook for about ten minutes or until slightly thickened and glossy. Taste and adjust seasoning if needed.
Return the ribs to the sauce and spoon the sauce over the top before serving.
Serve with mashed potatoes and a sprinkling of fresh thyme.
Enjoy!