Answer
Cabrera was traded to the Giants in 2012 by the Kansas City Royals in exchange for pitcher Jake Peavy and two minor leaguers. This trade was seen as a win-win for both teams, as the Giants acquired a proven power hitter in Cabrera, while the Royals received a young pitcher with a lot of potential in Peavy.