Mix all the spice rub ingredients together in a large bowl.
Remove the membrane from the back of the ribs (see diagram below) and coat both sides with the spice mix. Gently rub into the ribs.
Cover and refrigerate for about an hour to marinate.
Thirty minutes prior to cooking, take the ribs out of the fridge and allow to stand at room temperature.
Preheat the barbecue for indirect/low & slow cooking.
Once the barbecue is preheated, put the ribs on the left hand side of the barbecue, above the left hand burner.
Turn the right hand burner to the setting between low and medium. Close the lid and cook for approximately 4 hours.
Make the sauce while the ribs are cooking. Place the butter in a saucepan and cook over a low heat, on the side burner (or stove top) until melted. Once the butter has melted, add the onion and cook for a few minutes or until the onion has softened. Once the onion is cooked add all the remaining sauce ingredients. Cook for a further 10 minutes over a high heat or until thick and sticky, making sure to stir the sauce regularly.
After the ribs have been cooking for 4 hours, use a brush to baste them with the sauce.
Continue to cook for another hour, basting the ribs every 20 minutes.