Soak the ribs in a bowl of cold water for at least 2 hours to drain the blood. Drain the ribs and place in a large pan, cover with cold water and bring the water to boil. Once the water has boiled, remove the ribs, and rinse them in cold running water. Drain the ribs well.
Fill the wok with 2 cups oil, add the ribs and stir-fry for 5 minutes over medium-low heat, or until browned all over. Transfer to a large sauce pan.
Wipe the wok clean and add 2tbsp oil, stir-fry onion, ginger, and garlic over high heat for 5 minutes or until onion soft and browned.
Add the onion and all ingredients except carrot and parsley into the sauce pan. Add water to just cover the ribs. Bring the mixture to boil. Reduce the heat, cover and simmer the ribs over medium –low heat for 90 minutes or until the meat is very tender.