In a large pot, add 3 liters cola, one-third of the onions, the chopped garlic, bay leaves and peppercorns. Add the ribs and, if necessary, enough water to just cover; bring to a boil. Lower the heat and simmer, turning the ribs occasionally, until the meat pulls away from the bone, about 1 hour.
Meanwhile, in a large, heavy saucepan, combine the 12 ounces cola, smashed garlic cloves, butter, ketchup, brown sugar, mustard, Worcestershire sauce and the remaining onions; bring to a boil, then lower the heat and simmer, stirring often, until thickened, about 20 minutes. Let cool slightly. Using a blender, puree the sauce.
Preheat the grill or broiler to medium-high. Remove the ribs from the pot, pat dry, season with salt and pepper and brush with the sauce. Grill, turning often, until browned, about 8 minutes. Loosely tent the ribs with foil and let rest for 5 minutes before cutting into individual ribs.