Marinade: Place all ingredients in a saucepan and simmer for 10 minutes. Cool for 30 minutes. After marinade has cooled, pour over ribs and let marinate in the refrigerator for 1 hour.
While ribs are marinating, make sauce: Spray the bottom of a medium saucepan with cooking spray. Add onion and saute over medium heat until translucent. Add balsamic vinegar, increase heat to medium-high, and cook until reduced to a thick syrup, approximately 5 minutes. Add remaining ingredients and simmer for 10 minutes.
Preheat oven to 375 degrees F.
Place ribs on a roasting rack and pour barbecue sauce over. Roast for approximately 30 minutes or until fork tender.