KANSAS CITY, Mo. — Nick Loftin hit a go-ahead two-run homer in the seventh inning, then won it in the ninth with a one-out RBI single as the Kansas City Royals beat the Pittsburgh Pirates 4-3 on Tuesday night.
Rookie Jac Caglianone homered for the Royals, a 421-foot drive leading off the second inning that was his first extra-base hit in 14 games at Kauffman Stadium. He had been 5 for 46 at home before Tuesday.
Pittsburgh's Oneil Cruz tied it in the fourth with a 458-foot shot over the fountains in right field on the day he was announced as a participant in next-week's Home Run Derby.
Nick Gonzales put the Pirates ahead with a homer in the top of the seventh before Loftin's drive made it 3-2.
Bryan Reynolds tied it with an RBI grounder in the eighth.
Maikel Garcia singled leading off the ninth against Dennis Santana (2-2) and Salvador Perez followed with a base hit. With one out, Isaac Mattson came in and gave up Loftin's game-ending hit on a 1-0 fastball.
The Pirates fell to 0-5 to start their nine-game trip ahead of the All-Star Break. Kansas City has won five of six.
Carlos Estevez (3-2) worked a scoreless ninth for Kansas City.