Place the Sichuan pepper, fennel, star anise, cinnamon stick, dried mandarin peel and cloves (if using) in the centre of a small muslin cloth. Twist to close and secure with kitchen string.
Heat one teaspoon of peanut oil in a heavy-based casserole pan. Fry the ribs on all sides until golden. Add 500ml of water, oyster sauce, dark and light soy, rock sugar, garlic, ginger slices and the bundled spices. Bring to the boil.
Place the lid on and cook on low heat for 1½ hours. Remove the lid and cook over a medium heat for a further 20 minutes until the meat is meltingly tender and the liquid has reduced to a stick glossy glaze.
Stir through vinegar and cook for a further minute.