Heat a medium saucepan over medium heat, and add the oil. When the oil begins to smoke lightly, add the ribs in a single layer and sear on each side, 3 to 5 minutes. Transfer the ribs to a large bowl. Add the shallots and garlic to the same pan and cook until they become translucent, 3 to 5 minutes. Stir in the five-spice powder, soy sauce, 1 cup water, the Dijon mustard, brown sugar, and ginger, and bring to a simmer. Once the sugar has dissolved, remove the pan from the heat and pour the marinade over the ribs. Toss to coat. Cover and refrigerate for at least 8 hours or, ideally, overnight.
Cook the ribs:
Transfer the ribs and marinade to a large saute pan. Simmer them over low heat, stirring from time to time, until the ribs are tender and the meat starts to come away from the bones, about 1 hour. If you are not serving the ribs right away, remove the pan from the heat and let the ribs sit for up to 30 minutes. If longer, refrigerate at this point and reheat when ready to serve.
Serve the ribs:
When you are ready to serve the ribs, strain the marinade into a saucepan, add the vinegar, and boil over high heat until thickened, 10 to 12 minutes. (Reducing the liquid separately will prevent the ribs from overcooking.) When the sauce is thick, pour it back over the ribs to glaze them. Serve hot or at room temperature.
1:Buy spare ribs on the bone and have your butcher cut them into 1 1/2 x 1 1/2 x 2- inch pieces.