Cabrera, who is in the final season of a three-year contract with the White Sox, rejoins the Royals after spending 2011 with the club.
He called the trade "a sad moment for me," and spoke of the bond he had formed with several White Sox teammates.
"Honestly, I wasn't expecting this because I love the city, I love the team," Cabrera said through a team interpreter. "But at the same time, you are seeing what's happening around the team with all the moves, just try to block all those things, but I knew it was a possibility for this to happen."
"As I told Melky directly this morning, he has been outstanding for this organization since he first put on our uniform, not only in terms of his performance between the white lines, but what he did in the clubhouse," White Sox general manager Rick Hahn said. "He's obviously a great ambassador for the game, very enthusiastic, passionate player. And he'll be missed."
Cabrera, 32, has spent the last two-plus seasons with the White Sox and is hitting .288 with 13 home runs and 56 RBIs in 98 games this season. He is tied for the major league lead with nine outfield assists.
Cabrera has been hot recently, batting .341 with six doubles, five homers and 10 RBIs during July, which includes a pair of four-hit games on July 15 at Seattle and July 22 at Kauffman Stadium against the Royals.
Cabrera batted .287 with 95 doubles, 39 homers and 219 RBIs over three seasons with the White Sox after signing as a free agent in December 2014.
Cabrera is in his 13th major league season which includes 2011 with the Royals, when he set career highs in doubles (44), homers (18), RBIs (87) and stolen bases (20).
With the San Francisco Giants, Cabrera was the Most Valuable Player at the 2012 All-Star Game in Kauffman Stadium, then later that year was part of the World Series championship team.
A switch-hitter, Cabrera is a career .290 hitter from the left-side, compared to a .277 hitter as a right-handed batter.
Puckett, a 22-year-old right-hander, was 9-7 with a 3.90 ERA in 20 starts for High-A Wilmington, striking out 98 in 108 1/3 innings. MLB.com ranked him as the No. 13 prospect in the Kansas City system, and the White Sox project him as a potential future starting rotation candidate.
Davis, a 23-year-old left-hander, was 5-4 with a 4.83 ERA in 18 starts for Class A Lexington, striking out 87 in 85 2/3 innings.