KANSAS CITY, Mo. -- Danny Duffy pitched eight impressive innings and Kendrys Morales continued his torrid streak with four hits and two RBIs as the Kansas City Royals topped the St. Louis Cardinals 6-2 on Monday night.
Duffy's outing matched the longest of his career. He gave up two runs in the first inning and nothing after that. He allowed six hits, struck out eight and walked none.
Duffy (3-1), who walked four in his previous start and lasted just 4 2/3 innings in a no-decision against the New York Mets, lowered his ERA to 3.24. He threw 68 strikes in 101 pitches before Joakim Soria replaced him in the ninth.
Morales, who was hitting .191 on June 5 after a 1-for-15 series against the Cleveland Indians, went 4-for-4, raising his average to .243. In his past 16 games, Morales is 24-for-57 (.421) with 15 RBIs, four doubles, four home runs and 11 runs.
Cardinals shortstop Aledmys Diaz, who had two doubles against Duffy, left in the ninth after fouling a pitch in the dirt that ricocheted and struck him in the face. After Diaz was treated by the trainer, Greg Garcia finished the at-bat and grounded out.
Matt Holliday, who entered the game a career .475 hitter at Kauffman Stadium, homered with Aledmys Diaz, who had doubled, aboard in the first inning. Holliday's club-leading 15th home run on a 1-1 Duffy pitch barely cleared the center-field fence and went just beyond the glove of a leaping Lorenzo Cain.
It was the 47th home run surrendered by Royals pitchers this month, which is a franchise record for June. Kansas City pitchers have given up a home run in 15 consecutive games.
The Royals tied it in the bottom of the inning with two unearned runs after second baseman Matt Carpenter failed to cleanly pick up Salvador Perez's slow grounder to load the bases with two outs. Kendrys Morales, who homered twice Sunday, singled to right, scoring Cain and Eric Hosmer.
The Royals batted around in a four-run second against Cardinals right-hander Adam Wainwright, who finished the inning with 69 pitches.
The inning featured a Hosmer two-run high chopper over the head of first baseman Jedd Gyorko for a double, scoring Cain and Whit Merrifield. Cain singled home Alcides Escobar with the first run of the inning and Salvador Perez's single brought home Hosmer. All four runs scored with two outs.
Wainwright was removed after five innings and 102 pitches, allowing six runs (four earned), nine hits and one walk while striking out seven, including Alex Gordon three times.
NOTES: Cardinals C Brayan Pena is expected to come off the disabled list Tuesday after hitting .192 in 14 minor-league rehab games. Pena, who has not played this season after undergoing left knee surgery, joined the club on Monday but was not activated. ... Royals C Salvador Perez went 1-for-9 in the three-game series with Houston and is in a 2-for-17 slide. ... Cardinals 1B Matt Adams, who had not played since Wednesday because of lower back tightness, was not in the lineup for the fourth straight game. ... Royals RHP Yordano Ventura, who has not pitched since June 17, completed his eight-game suspension and will start Tuesday against the Cardinals. St. Louis will send RHP Michael Wacha to the mound.