MIAMI -- The blazing speed of Jarrod Dyson is obvious, but it was the center fielder's leaping ability that took a possible home run away from Christian Yelich in the first inning on Thursday that served as a reminder the Royals can beat you in so many ways.

Dyson's catch, coupled with Alcides Escobar's home run, double and two runs scored provided the lift the Royals needed to defeat the Marlins, 5-2, and claim two of three at Marlins Park.

Alcides Escobar starts the top of the 4th inning with a big fly, giving the Royals a 2-0 lead

The Royals, winners of 10 of 11, did the little things better on Thursday, and they capitalized on Dee Gordon's throwing error in a two-run sixth inning that snapped a 2-2 tie. Gordon made a wild throw on Alex Gordon's broken-bat infield single, and Escobar delivered an RBI double off Tom Koehler that put Kansas City ahead to stay. Kendrys Morales added a sacrifice fly in the inning.

"That's a tough play. You're playing on the move, you're playing on the run," Marlins manager Don Mattingly said of Gordon's error. "Obviously, you don't want to [throw it away]. It's going to be a great play, if he makes it. If you don't, you don't expect it to end up [giving him] second base. To me, that's just a tough play."

Kendrys Morales puts the Royals up 4-2 in the top of the 6th inning with a sacrifice fly to center field

The game featured some great plays and some sloppy ones in the field. Dyson turned in one of the greatest catches since Marlins Park opened in 2012. In the first inning, he raced to the wall and robbed Yelich of a home run, but in the fourth, Miami scored two runs on third baseman Cheslor Cuthbert's throwing error, evening the score at 2.

The Marlins will be glad to close out playing the American League Central, where they went 3-10 on the season.

MOMENTS THAT MATTEREDEarly glove work: Dyson was able to make his spectacular catch in center because fences were brought in and lowered prior to the 2016 season in hopes of producing more runs. But Dyson robbed Yelich to end the first inning. Dyson leaped to pull in Yelich's blast, which according to Statcast™ traveled 414 feet with a 103-mph exit velocity at a 25.4-degree launch angle. Dyson covered 97.9 feet at a top speed of 19.8 mph.

"It was one of the best plays we've seen all year long," Royals manager Ned Yost said. "I didn't think he could draw a beat on it and wasn't sure he caught it. I was totally amazed. That was a phenomenal play." More >

Statcast: Dyson robs home run

KC@MIA: Dyson sprints 19.8 mph to rob a home run

Statcast measures the first step, max speed, distance covered and route efficiency of Jarrod Dyson's leaping grab to rob a home run

Put the ball in play, anything can happen: The Marlins weren't having much luck off Edinson Volquez due to the Royals' stellar defense. But in the fourth inning, Miami cashed in on Cuthbert's error after he made a nice diving stop on Xavier Scruggs' grounder. When Cuthbert's throw bounced away from Eric Hosmer at first base, Marcell Ozuna scored easily from third and J.T. Realmuto, at second, raced home with the second unearned run, pulling Miami even at 2.

"They capitalized on mistakes we made today," Koehler said. "They made a few, and we got the two runs there, and there's some chances that we had. But games like today happen."

Marlins score twice on error

KC@MIA: Marlins score a pair following throwing error

Xavier Scruggs reaches base and a pair of runs score to knot the game at 2 after Cheslor Cuthbert mak es a throwing error in the 4th inning

Perfect 'pen: The Royals' bullpen extended their club record consecutive scoreless-innings streak to 38 2/3. According to Elias, that's the longest such streak by a bullpen since the 2002-03 Giants combined for 39 1/3 innings. Chris Young, Matt Strahm, Joakim Soria and Kelvin Herrera combined for four scoreless frames.

"They've just been spectacular," Yost said of his bullpen."Strahm probably gets the gold star, getting us out of the sixth inning with the bases loaded and then getting through the seventh."

Royals' bullpen extends streak

KC@MIA: Royals' bullpen extends scoreless streak

The Royals' bullpen extends their scoreless streak another four innings, and are now up to 38 2/3 straight innings without allowing a run

Squandered chances: The Marlins managed a couple of runs, but they certainly had their share of chances. A telling moment came in the third inning, when Miami was unable to cash in on the first of two errors committed by Cuthbert. After Scruggs' single, Adeiny Hechavarria tapped what could have been a double-play grounder, but Cuthbert threw the ball away. Miami had first and third with no outs, but Volquez worked out of it. Koehler dropped a sacrifice bunt, putting runners on second and third, but Gordon and Martin Prado each grounded out. At the time, Miami trailed 2-0.

"We had a few chances -- didn't have a ton -- but we had a few," Mattingly said. "We get the first-and-third there and don't score. It hurts us early. We didn't get a whole lot going after that."

Volquez escapes danger

KC@MIA: Volquez wiggles out of danger in the 3rd

Edinson Volquez escapes danger by inducing three ground-ball outs, including Martin Prado to end the bottom of the 3rd inning

QUOTABLE
"Well, that's history right there. I love being a part of history," -- Dyson, after being informed that he is the first player in Marlins Park history to rob someone of a homer

"They wanted to bring those fences down so people can rob homers. There you go, there's one." -- Koehler, on moving in the fences and Dyson making his catch on Yelich

Marlins' booth on Dyson's catch

KC@MIA: Marlins' broadcast discuss Dyson's catch

The Miami Marlins' broadcast discusses Jarrod Dyson's catch and how the center-field fence was brought in over the winter

NOTE OF CAUTION
As a precautionary measure, Royals catcher Salvador Perez was replaced behind the plate in the ninth inning by Drew Butera.

"He took one off his facemask the inning before and got a little light-headed," Yost said.

SOUND SMART WITH YOUR FRIENDSJeff Francoeur, acquired from the Braves on Wednesday night, made his Marlins debut on Thursday. It came in a pinch-hit role in the sixth inning, and the 32-year-old outfielder reached on an infield single. More >

Francoeur's first Marlins hit

KC@MIA: Francoeur legs out first Marlins hit

Jeff Francoeur legs out his first hit with the Marlins in the bottom of the 6th inning

AFTER FURTHER REVIEW
The Royals won a review in the ninth inning on an out call at first base. Dyson was initially ruled out upon hitting a grounder to second base. After a quick 40-second review, the call was overturned.

Dyson's second infield hit

KC@MIA: Dyson legs out hit after call overturnec

Jarrod Dyson is awarded his second infield hit of the game after the Royals challenge and the call is overturned in the 9th

WHAT'S NEXTRoyals:Ian Kennedy (8-9 3.58 ERA) takes the mound as the Royals open up a three-game series with the Red Sox at 7:10 p.m. ET on Friday at Fenway Park. Kennedy has been red hot, allowing one run or fewer in each of his last five starts.

Marlins: Miami opens a three-game series against the Padres at 7:10 p.m. ET on Friday. David Phelps (7-6, 2.28 ERA) makes the start for Miami. San Diego counters with former Marlins right-hander Jarred Cosart (0-1, 4.54 ERA). Phelps is 2-1 with a 1.31 ERA in four starts since joining the rotation.