Brad Keller threw six scoreless innings, Adalberto Mondesi had three hits and an RBI as the Kansas City Royals held off the Detroit Tigers 3-2 on Friday night.

Keller (5-3) gave up four singles and struck out five in six innings. The eighth-round draft pick in 2013 closed out the season allowing one run in 33 innings pitched at home.

More Images
Kansas City Royals' Alex Gordon warms up on deck during the fourth inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Brad Keller threw six scoreless innings, Adalberto Mondesi had three hits and an RBI as the Kansas City Royals held off the Detroit Tigers 3-2 on Friday night.

Kansas City Royals starting pitcher Brad Keller throws during the first inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Mondesi was a homer away from hitting for the cycle. In his last three games, he had nine hits, six runs scored and four RBI’s.

Detroit Tigers' Niko Goodrum beats the tag by Kansas City Royals catcher Salvador Perez to score on a sacrifice fly by Eric Haase during the seventh inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Royals left-hander Danny Duffy was used in relief for the first time since 2016. He gave up two hits, two runs and went 1/3 inning.

Detroit Tigers' Niko Goodrum runs home to score on a sacrifice fly by Eric Haase during the seventh inning of the team's baseball game against the Kansas City Royals on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

In the first tinning, Turnbull allowed singles by Whit Merrifield and Adalberto Mondesi. He walked two batters, which scored a run.

Detroit Tigers center fielder Victor Reyes catches a sacrifice fly by Kansas City Royals' Maikel Franco during the fifth inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Tigers: INF Jeimer Candelario (low back strain) was placed on the IL and OF Christian Stewart was recalled.

The Royals have won three in a row. The Tigers have lost eight of nine.

Kansas City Royals' Alex Gordon warms up on deck during the fourth inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Kansas City Royals' Alex Gordon warms up on deck during the fourth inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Mondesi was a homer away from hitting for the cycle. In his last three games, he had nine hits, six runs scored and four RBI’s.

Spencer Turnbull (4-4) went five innings for the Tigers, allowing three runs, six hits and striking out five.

The Tigers bullpen of Daniel Norris, Jose Cisnero and Buck Farmer worked three scoreless innings.

Kansas City Royals starting pitcher Brad Keller throws during the first inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Kansas City Royals starting pitcher Brad Keller throws during the first inning of the team's baseball game against the Detroit Tigers on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Royals left-hander Danny Duffy was used in relief for the first time since 2016. He gave up two hits, two runs and went 1/3 inning.

Those runs came in the sixth inning, after an RBI by Christin Stewart, who scored Harold Castro, and a sacrifice fly by Eric Haase that plated Niko Goodrum and cut the deficit to 3-2.

Scott Barlow and Jakob Junis went a combined 1 2/3 scoreless innings, and Jesse Hahn closed the door in the ninth for his second save of the season.

Detroit Tigers' Niko Goodrum beats the tag by Kansas City Royals catcher Salvador Perez to score on a sacrifice fly by Eric Haase during the seventh inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Detroit Tigers' Niko Goodrum beats the tag by Kansas City Royals catcher Salvador Perez to score on a sacrifice fly by Eric Haase during the seventh inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

In the first tinning, Turnbull allowed singles by Whit Merrifield and Adalberto Mondesi. He walked two batters, which scored a run.

The next inning, Franchy Cordero hit a double down the left field line, and Mondesi followed with an RBI triple to make it 2-0.

TRAINING ROOM

Detroit Tigers' Niko Goodrum runs home to score on a sacrifice fly by Eric Haase during the seventh inning of the team's baseball game against the Kansas City Royals on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Detroit Tigers' Niko Goodrum runs home to score on a sacrifice fly by Eric Haase during the seventh inning of the team's baseball game against the Kansas City Royals on Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Tigers: INF Jeimer Candelario (low back strain) was placed on the IL and OF Christian Stewart was recalled.

Royals: RHP Greg Holland (right oblique strain) and OF Jorge Soler (right oblique strain) were placed on the IL, while RHP Ian Kennedy was reinstated from the IL and 1B/OF Ryan McBroom was recalled.

UP NEXT

Detroit Tigers center fielder Victor Reyes catches a sacrifice fly by Kansas City Royals' Maikel Franco during the fifth inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Detroit Tigers center fielder Victor Reyes catches a sacrifice fly by Kansas City Royals' Maikel Franco during the fifth inning of a baseball game Friday, Sept. 25, 2020, in Kansas City, Mo. (AP PhotoCharlie Riedel)

Detroit will start LHP Matthew Boyd (2-7, 6.96) on Saturday night, and the Royals will counter with RHP Carlos Hernandez (0-0, 3.46). Boyd will look to have a better outing after giving up five runs in five innings against the Indians on Sunday.

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports