Score the fat in a 1/2-inch pattern with a sharp knife. If the belly is lean, you can skip scoring.
Make the Marinade
Add all ingredients except the pork, pineapple, olive oil, and onion to a blender. Blend until smooth.
Reserve 3 tablespoons of the marinade for the pineapple sauce and refrigerate.
Marinate the Pork
Add the pork and remaining marinade to a freezer bag or container and marinate in the refrigerator for 4 to 8 hours.
Braise the Belly
Heat oven to 325°F.
Remove the pork from the marinade and roll it tightly with the fat side facing outward. Tie at 2-inch intervals with butcher’s twine. You can leave the belly flat if you do not want to roll it.
Place the chopped onion in the bottom of an ovenproof pan. Set the pork on top.
Add enough water or stock to come halfway up the pork belly. Pour any extra marinade over the pork, but not the reserved 3 tablespoons.
Cover and braise for 2 hours.
Remove the cover and braise for one more hour, or until fork-tender.
Broil
Remove the pork from the pan. Turn the oven to broil and broil the pork until browned. A little char is ok.
Remove from the oven and set aside.
Carefully remove about 1/4 cup of the onions from the braise. You will use them for the sauce.
Make the Sauce
Turn on your oven's broiler.
Place the pineapple in a bowl and mix it with the olive oil. Place on a greased baking pan.
Broil until lightly charred and tender. Let it cool slightly.
Carefully add the broiled pineapple, reserved marinade, and reserved cooked onions to a blender. Blend until smooth. Season with salt and pepper to taste.
Serve
Slice the pork and serve it with the pineapple sauce. It is especially good over coconut rice.
NOTES
Make Ahead:
The marinade can be made the day before.
The pineapple can be broiled the day before. Reheat in the microwave until warm, then blend the sauce.
Storage:
Leftover will last in the refrigerator for up to 3 days.