KANSAS CITY, Mo. (AP) There have been plenty of times over the years when Royals pitcher Danny Duffy would give up a first-inning home run, or fall into a big early hole, and it would cause everything else to slowly unravel.
The left-hander showed Monday night just how much he's matured.
After serving up Matt Holliday's two-run shot in the first, Duffy settled in to go eight innings while striking out eight without a walk, sending Kansas City to a 6-2 victory over the St. Louis Cardinals in the opener of a four-game, two-city series between cross-state rivals.
''I think no walks is more of a win for me than anything, outside of the team winning,'' said Duffy, who had gone eight innings just once before. ''I don't know. Nothing fazes me anymore.''
Kendrys Morales went 4 for 4 and drove in two runs, and Eric Hosmer also had a pair of RBIs as the Royals roughed up Adam Wainwright (6-5) to snap a four-game losing streak to the Cardinals.
The Royals scored all their runs with two outs.
''We have a little bit of a reputation for that,'' manager Ned Yost said, ''and it showed up.''
Wainwright wasted no time coughing up the lead Holliday had given him, loading the bases for Morales in the first inning. The big designated hitter lined a single to right over a shifted infield to tie the game.
Kansas City pulled ahead for good in the second, stringing together five singles and a double while batting through the order. Lorenzo Cain provided the lead with a sharp single up the middle, Hosmer extended it with his bounding double down the right-field line, and Salvador Perez added an RBI single to make it 6-2.
''It's tough. You have to tip your hat, really. They did a real nice job with two strikes and two outs,'' said Wainwright, who had been 4-0 in six career starts at Kauffman Stadium.
''I had two-strike counts on a lot of those guys that had two-out hits,'' he said. ''I made some good pitches sometimes that they hit, but not great pitches. Not exactly where I wanted them.''
Wainwright began making better pitches eventually, retiring 10 of his final 11 batters. But the damage had been done, and he was pulled after five innings and 102 pitches.
It was the third time this season the three-time All-Star has allowed at least six runs in a start, though only four were earned.
Meanwhile, Duffy was using pinpoint control to breeze through a lineup that scored 11 runs the previous day against Seattle. He retired his final seven batters, with nobody getting past second after the first inning.
''He gave up that two-run homer in the first inning on a pitch he tried to get in,'' Yost said. ''From there, just a great, great effort by Danny. Just a very solid effort.''
Cardinals SS Aledmys Diaz left after fouling off a pitch that ricocheted off his forehead leading off the ninth inning. The ball hit Diaz near his right eye and left him with blurred vision, and he was heading to the hospital after the game for an exam. Greg Garcia grounded out to finish Diaz's at-bat.
Major League Baseball released its final update of All-Star fan voting. Hosmer (1B) and Perez (C) lead the AL at their positions, while Cardinals C Yadier Molina tops voting at his in the NL. The selection show is July 5 and the All-Star Game is the following week. Yost, who will manage the American League squad, said, ''I think we're going to be in pretty good shape,'' when asked about Kansas City representation.
Cardinals: 1B Matt Adams (back) remained out of the lineup, though manager Mike Matheny said Adams was available to pinch-hit. Adams has been out since Wednesday. ... C Brayan Pena (knee) is expected to come off the disabled list Tuesday.
Royals RHP Yordano Ventura (6-4) returns from an eight-game suspension stemming from a brawl in Baltimore to face Cardinals RHP Michael Wacha (3-7) on Tuesday night. Wacha won for the first time in nearly two months his last time out against the Cubs.