Cabrera made his major league debut with the Indians on April 12, 1998, in the only game he played that season. 2001 was Cabrera's best statistical season in Cleveland, as he slashed a line of .261/3/38 with ten stolen bases for the division winning Indians. He was traded on July 22, 2002 to the Los Angeles Dodgers for minor league pitcher Lance Caraccioli. He remained there until an early season trade in 2004 sent him to Seattle. He was released in 2005. During the 2007 offseason, Cabrera signed a minor league contract with the St. Louis Cardinals that included an invitation to spring training. After spending most of the year with their Triple-A affiliate, the Memphis Redbirds, Cabrera was released and signed a minor league contract with Colorado Rockies. On January 5, 2008, Cabrera signed a minor league contract with the Cincinnati Reds and was called up to the majors on June 10. On September 7, 2008, Cabrera hit a walk-off single against the Cubs to win the game 4–3. On January 12, 2009, he signed a minor league contract with an invitation to spring training with the Baltimore Orioles. On January 15, 2010, it was reported that Cabrera had signed a minor league deal with the New York Mets with an invitation to spring training.