Bring the beef to room temperature for about 30 minutes. Pat dry and season with salt and pepper.
Slice and dice the onion, carrots, and celery. Peel the garlic.
In a Dutch oven over medium-high heat, sear the ribs in batches until golden brown. Remove from pot.
In the same pot, sauté onion, carrots, and celery until softened. Add garlic and cook until fragrant.
Pour in the red wine vinegar and scrape up brown bits from the bottom.
Add the ribs back into the pot and let simmer in the wine for about 10 minutes.
Whisk together beef stock, tomato paste, and herbs. Stir into the pot. Cover and transfer to a preheated oven.
Cook at 325°F for 2.5-3 hours. Remove lid and cook for another 30-40 minutes.
Carefully remove the ribs and strain the sauce. Discard solids and return ribs to the sauce. Serve with mashed potatoes.