Preheat the oven to 300˚F.
Set a heavy Dutch oven over medium-high heat, add a drizzle of oil and brown the ribs on all sides, transferring them to a plate as you go.
Add the onion and carrots to the pan and cook for a few minutes, until they start to turn golden on the edges.
Add the garlic and cook for another minute. Pour in the balsamic vinegar and cook for a minute, scraping up any browned bits left on the bottom of the pan.
Return the ribs to the pot and add the wine, cranberries, thyme, rosemary, and enough stock to come about halfway up the sides of the ribs.
Cover and slide into the oven for 3 hours, or until the ribs are very tender.
Serve over mashed potatoes, with the cooking sauce.