The US Senate grudgingly approved the Central American Free Trade Agreement (CAFTA) on Thursday night, by a vote of 54 to 45.