Peel shrimps, reserving the shells to use later.
Fill a large pot or dutch oven 1/3 full of water and bring to boil over medium high heat. Add pork ribs and pork belly. Continue to boil for 5 minutes. Remove pork ribs and pork belly with a pair of thongs. Discard water.
Fill the pot again with 10 cups of water. Bring to a boil and return pork ribs and pork belly to the pot. Lower heat and allow to simmer.
To a large skillet add minced onion with vegetable oil and fry for 3 minutes. Add chili paste and continue to fry for another 2 minutes. Transfer onion chili mixture to a small bowl. Add remaining 1 tablespoon vegetable oil into the same skillet. Add shrimp shells and fry until shells turn pink, about 3 minutes.
Place fried shrimp shells and 2 tablespoons of cooked chili paste (keep the remaining as condiment) into the simmering pork belly and ribs pot. Add garlic, star anise, cloves and peppercorns. Allow to simmer for 90 minutes.
After 30 minutes of cooking, remove pork belly. When cool enough to handle, slice thinly. In a skillet fry pork belly on both sides, 2 to 3 minutes, until crispy. Set aside.
When soup is done, remove pork ribs and set aside. Strain broth and discard shrimp shells. Remove meat from pork ribs and discard bones.
Add fish sauce, brown sugar, soy sauce and prawns to the soup and cook for about 3 minutes until they turn pink. Remove and set aside.
Place a portion of cooked rice noodles, egg noodles, beansprouts, and spinach in a bowl. Pour soup broth over noodles and vegetables. Top with prawns, crispy pork belly, pork rib and reserved chili onion condiment.
Garnish with sliced hard boiled egg, chopped green onions and fried shallots.