KANSAS CITY, Mo. — Michael Wacha pitched seven scoreless innings, Bobby Witt Jr. homered and drove in two runs and the Kansas City Royals beat the Chicago White Sox 7-1 on Friday night.

Witt drove Chris Flexen’s inside fastball above the left field bullpen in the first inning for his 17th homer.

“I was just trying to be on time with the heater,” Witt said. “Whenever I’m on time, I feel like good things happen.”

Royals manager Matt Quatraro liked what he saw.

“It was nice to see — a fastball on the inner part of the plate — him turn on it, get us going and get himself going,” he said.

Witt added an RBI in the third on the second of his three hits for a 2-0 lead. Since June 24, he has hit safely in 17 of 19 games, batting .403 with 12 extra-base hits.

Wacha (7-6) induced inning-ending double plays with runners at third in the first and third innings.

“Big-time double plays to get me out of those jams,” Wacha said. “It took a little bit to kind of find a groove. Just getting that command back on those pitches after the (All-Star break) layoff will be key.”

Wacha struck out seven while allowing four hits and a walk, and is 6-2 in his last 10 starts, surrendering no more than three earned runs in each.

“Overall, the results were great,” Wacha said. “I felt like I was able to make pitches when I needed to, get some strikeouts when I needed to.”

It was a tough night for White Sox hitters.

“Wacha’s very difficult to hit, especially when he’s got his changeup going,” White Sox manager Pedro Grifol said.

Michael Massey’s two-out, two-run single highlighted the Royals’ five-run fifth. Kansas City has won five of its last seven.

“Massey’s hit was the difference,” Quatraro said. “But just one good at-bat after another.”

Flexen (2-9) walked four and hit a batter in the fifth. He threw 4 2/3 innings, allowing seven runs on four hits and five walks. In 13 starts since last winning May 8, he is 0-6.

“Obviously fell apart at the end,” Flexen said. “Kind of lost the feel there. The walks are inexcusable.”

Chicago’s Korey Lee homered in the eighth, his ninth.

Brooks Baldwin singled in his first at-bat in his major league debut, as the White Sox lost their fifth straight.

The White So placed RHP Michael Soroka on the 15-day Injured List (retroactive to July 16) with a right shoulder strain.

Transactions: The White Sox signed free agent IF Nick Senzel, selected the contract of IF Brooks Baldwin, and recalled C Chuckie Robinson and RHP Steven Wilson, from Triple-A Charlotte, optioned IF Lenyn Sosa to Charlotte, and designated C Martin Maldonado and IF Danny Mendick for assignment, outrighting Mendick to Charlotte.