Cut any excess fat from ribs. Place ribs in large pot with enough water to cover. Add onion, garlic and bay leaves to the pot, and bring to a boil over high heat. Once boiling, reduce heat to medium-low and let ribs simmer uncovered for 1 hour.
While the ribs are cooking, prepare the sauce: Heat a saucepan over medium-high heat and add oil and onion, and sauté until soft, about 5 minutes. Add the garlic and sauté for 1 more minute. Transfer onions and garlic to a medium-size bowl, and add ketchup, mustard, molasses, honey, Worcestershire, vinegar, cinnamon, salt and cayenne. Mix well to combine.
Drain the ribs in a colander and place them in large bowl. Pour sauce over ribs and refrigerate for at least 2 hours (4 is best).