In a large skillet, heat the olive oil. Season the ribs with salt and pepper. Add them to the skillet and cook over moderate heat, turning once, until browned and crusty, for about 15-18 minutes. Transfer the ribs to a shallow baking dish in a single layer.
Add the onion, carrots, celery and garlic to the skillet (with all the lovely brown bits) and cook over low heat, stirring occasionally, until very soft and lightly browned, about 18-20 minutes. Add the wine and thyme sprigs and bring to a boil over high heat. Pour the hot marinade over the ribs and let cool. Cover and refrigerate overnight, turning the ribs once.
When ready to cook, preheat the oven to 350°. Transfer the ribs and marinade to a large, enameled cast-iron casserole. Add the chicken stock and bring to a boil. Cover and cook in the lower third of the oven for 1- 1 1/2 hours, or until the meat is tender but not falling apart. Check your ribs after one hour. Uncover and braise for 30-45 minutes longer, turning the ribs once or twice, until the sauce is reduced by about half and the meat is very tender.
Transfer the meat to a clean shallow baking dish, discarding the bones as they fall off. Strain the sauce into a heatproof measuring cup and skim off as much fat as possible. Pour the sauce over the meat; (there should be about 2 cups of sauce).
Preheat the broiler. Broil the meat, turning once or twice, until glazed and sizzling, about 5 minutes. Watch your meat and make sure it does not burn. Transfer the meat to plates, spoon the sauce on top and serve. You can serve with mashed potatoes, buttered noodles or crusty bread.