The Tampa Bay Devil Rays claimed him off release waivers on August 13, and had five days to sign him or let Cabrera become a free agent. Cabrera decided to become a free agent and signed a minor league contract with the Baltimore Orioles on August 21, 2007. The Orioles recalled Cabrera in September 2007. He was placed on the 15-day disabled list by the Orioles at the beginning of the 2008 season. On September 5, 2008, Cabrera was released by the Orioles.[4]
Boston Red Sox
On January 27, 2009, he signed a minor league contract with the Boston Red Sox.[5] He was called up to the Red Sox on August 9, 2009.[6]
On January 10, 2012, Cabrera signed with the New York Mets to a minor league deal.[7]
Los Angeles Angels
On January 11, 2013, Cabrera signed a minor league deal with the Los Angeles Angels of Anaheim. He was assigned to the Salt Lake Bees, and he played a season for them before retiring.
International play
Cabrera played for Puerto Rico in the 2006, 2009 and 2013World Baseball Classic. In 2009, he gave up the ninth-inning single to David Wright to allow Team USA to come back from a 5–4 deficit to win the game, eliminating Puerto Rico from the competition.[8]