Chicago received right-hander A.J. Puckett and left-hander Andre Davis from Kansas City.
The Royals also received cash considerations in the deal. Cabrera is making $15 million this year and will become a free agent after the season.
Davis is the 13th-ranked player in the Royals' farm system, while Puckett is No. 22, according to MLB.com.
"I will go there [and] try to help the team win games,'' Cabrera said. "They acquired me for a reason. I hope to help them.''
Cabrera, 32, is hitting .295 with 13 home runs and 56 RBIs in 98 games (428 plate appearances).
The Royals entered Sunday's game against the Boston Red Sox with a 54-48 record and are in second place in the AL Central, three games behind the division-leading Cleveland Indians.
Kansas City held the second wild-card spot by 2½ games over Tampa Bay entering Sunday's action. The Royals had their season-high nine-game winning streak snapped by Boston on Saturday night -- 9-8 in 10 innings.
The trade marks a return to Kansas City for Cabrera, who also played for the Royals in 2011. That season he set career bests in hits (201) and RBIs (87).
"I played with [Eric] Hosmer, Salvy [Salvador Perez], [Alcides] Escobar and I played for the manager [Ned] Yost,'' he said. "They treated me fair there.''
Cabrera said he enjoyed his two-plus seasons with the White Sox.
"Honestly, I wasn't expecting this because I love the city,'' he said. "I love the team.''
For the White Sox, it's another move of regular players in an effort to rebuild. In the past year, they've traded starting pitchers Chris Sale and Jose Quintana, along with outfielder Adam Eaton, third baseman Todd Frazier and relievers David Robertson, Tommy Kahnle, Anthony Swarzak and Dan Jennings.
"As we've made no secret about over the last several months, we're preparing ourselves for the future,'' Chicago general manager Rick Hahn said. "With today's move, we were able to pick up another couple interesting arms for the organization.''
Davis, 23, is 5-4 with a 4.83 ERA in 18 starts for Lexington, the Royals' Class A team in the South Atlantic League. Puckett, 22, is 9-7 with a 3.90 ERA in 20 starts for Wilmington, the Royals' advanced Class A team in the Carolina League.
In 13 major league seasons, Cabrera has a .286 average, 127 home runs and 739 RBIs in 1,618 games for the Yankees, Blue Jays, Royals, Giants, Braves and White Sox.
The Associated Press contributed to this report.