KANSAS CITY, Mo. -- The pitching duel of contrasts was as good as advertised.
It featured 21-year-old hard-throwing right-hander Jose Fernandez for the Miami Marlins.
While the Kansas City Royals countered with soft-tossing 36-year-old left-hander Bruce Chen, who has a 0.93 ERA in six starts since moving into the rotation.
Neither starter gave up a run or extra-base hit in seven innings, but the Marlins edged out the Royals 1-0 in 10 innings.
"Both of them were outstanding," Royals manager Ned Yost said. "Bruce was phenomenal. Fernandez was everything we had heard he was and had seen on video. His slider has as much depth in it and is as big as any slider we've seen all year long. He was pumping strikes, getting ahead in the count, mixing in his changeup and a really, really good slider. It was just an old-fashioned pitching duel."
Christian Yelich singled home Jake Marisnick with the winning hit with one out in the 10th. Marisnick was grazed by an 0-2 pitch from Kelvin Herrera to lead off the 10th. It was the first time Herrera (4-6) had hit a batter in 42 relief appearances.
"It just nipped him in the shirt," Yost said.
Marisnick stole second and came home on Yelich's ground single to right for his third hit.
"Try to get a good pitch to hit and drive Jake in from second,'' Yelich said was his plan. "It was hard to score runs for both teams. I knew if we could push one in we would have a good chance to win."
The Royals managed just four singles off Fernandez and three relievers.
"It's a baseball game. We won," said Fernandez, who is 3-0 in six starts since a July 7 loss at St. Louis.
Fernandez wanted to come out for the eighth, but Marlins manager Mike Redmond thought 94 pitches were enough this night for his phenom's prized arm.
"I like to compete," Fernandez said. "I would have loved to stay out there pitching. I was feeling really strong today."
Chad Qualls (3-1) picked up the victory and Steve Cishek logged his 25th save in 27 opportunities. Cishek has converted 20 consecutive saves.
The Royals lost for just the fourth time in 22 games. The Marlins are 2-8 in their past 10 games with both victories by 1-0 scores.
Chen restricted the Marlins to three singles while striking out six and walking three.
After starting the season in the bullpen, Chen has allowed 19 hits and four runs in 38 2/3 innings as a starter.
"I don't want to think too much on what I'm doing," Chen said. "I'm feeling good. Sometimes when your team is playing well, you take your game to the next level. Really, I just want to help this team in any way I can to help this team win. I want to ride it as long as I can."
The Marlins had only one runner touch second base against Chen. That came in the seventh when Adeiny Hechavarria walked with two outs and stole second.
Fernandez also worked seven scoreless innings and stymied the Royals on three singles while walking one and striking out six.
He, too, permitted just one base runner to reach second. Billy Butler walked to lead off the seventh and stopped at second on Alcides Escobar's two-out single, which extended his hitting streak to a season-high 10 games. Fernandez retired George Kottaras on a flyout to end the inning.
"He's got great stuff," Kottaras said. "He throws everything for strikes. He's got all those plus pitches to work with. He was attacking the zone. We were falling behind. He had us at his mercy for a while."
Fernandez's ERA dropped to 1.65 since June 1, the lowest of any major league starting pitcher during that span (minimum 66 2/3 innings). In his 23 starts, Fernandez has surrendered just 21 extra-base hits.
The Marlins posed a mild threat in the ninth when Logan Morrison, a Kansas City native, led off with a fly-ball single to shallow left off Royals closer Greg Holland. After Placido Polanco bunted Morrison to second, Holland struck out Donovan Solano and retired Hechavarria on a ground ball to Escobar.
Left-hander Mike Dunn, who replaced Fernandez, retired all four batters he faced.
Yelich, called up July 23 from Double-A Jacksonville, led off the game for the Marlins with a single and walked in the third. He has a hit in all five career interleague games.
NOTES: Royals 3B Mike Moustakas has a left calf strain that he suffered Monday while running the bases. He is listed as day-to-day and did not play Tuesday. ... Alex Gordon returned to the Royals lineup after missing Monday's game for the birth of his second son, Sam Patrick, to wife Jamie. ...The Marlins have been outscored 167-125 in the opening three innings of their first 118 games. ... Marlins reserve OF Justin Ruggiano is hitless in his past 42 at-bats, the longest streak in franchise history.