Christian Walker had three hits and his RBI double led to a three-run eighth inning as the Arizona Diamondbacks beat the Kansas City Royals, 7-3.
Zach Davies allowed two hits in 5 2/3 innings, including Bobby Witt, Jr.'s 17th homer.
Joe Mantiply got the relief victory.
Three Royals relievers allowed seven runs over the final four innings.
Josh Staumont allowed four runs to take the loss.
The Diamondbacks snapped a three-game losing streak.
The Royals were outhit 13-5 and have gone a franchise-record eight consecutive games without more than six hits while losing seven of nine.