After loading the bases with nobody out in the eighth inning, the Detroit Tigers mustered only one run.
That was all they needed.
Brandon Dixon hit a tiebreaking sacrifice fly off reliever Jake Diekman that sent Detroit past the Kansas City Royals 3-2 on Wednesday night.
"The guy was throwing the ball pretty hard with a great breaking ball," Tigers manager Ron Gardenhire said. "(Dixon) stayed behind it, stayed on it and drove it the other way to get the run home. That's huge."
Miguel Cabrera also had a sacrifice fly for the Tigers, and Ronny Rodriguez hit an RBI double.
Jorge Soler drove in both Royals runs but flied out with a runner on to end the game.
"He had two big two-out RBIs today to keep us in the game," Kansas City manager Ned Yost said, "and he just missed that last ball. Really picked us up big-time. He was a majority of our offense. Anytime you get two-out RBIs, those are big, and Jorgie got two of them for us."
The teams now head to Omaha, Nebraska, to play the first Major League Baseball game in that state Thursday night. It's a prelude to the College World Series, which begins Saturday in the same ballpark — also home of Kansas City's Triple-A affiliate.
The Royals need a victory to win a series for the first time since April 12-14.
"You just try to find ways to score some runs to make those good starts count for something," Yost said. "Danny (Duffy) was really, really good."
After the start was delayed 24 minutes because of the threat of rain, Diekman (0-3) walked JaCoby Jones leading off the eighth. Christin Stewart doubled under the glove of first baseman Ryan O'Hearn, sending Jones to third.
After walking Nicholas Castellanos, Diekman struck out Cabrera. But then Dixon sent right fielder Terrance Gore to the fence for the go-ahead sacrifice fly.
"Got myself in trouble, couldn't get out of it," Diekman said.
When asked if he felt good about only allowing the one run, he added: "No, because I still gave up the lead with the run. Hung a slider and he hit it to right field. If it was a decent slider it could have been different, but it was a terrible pitch."
Nick Ramirez (3-0) pitched two scoreless innings to earn the win. Shane Greene worked the ninth for his 20th save in 21 chances.
"We hung in there," Gardenhire said. "Ramirez came in and did a really nice job for a couple of innings."
Neither starter factored in the decision.
Duffy had a solid outing for the Royals. After walking his first two batters, he buckled down and completed seven innings, allowing two runs and four hits. He walked only those two batters and struck out six.
Tigers left-hander Daniel Norris gave up two runs and six hits in five innings with two walks and six strikeouts.
Cabrera drove in Jones with a sac fly in the first inning as Detroit scored without the benefit of a hit.
After wasting a couple of scoring chances in the first two innings, the Royals finally got a run in the third. Whit Merrifield stroked a leadoff double to the wall in left-center. He stole third and scored on Soler's double.
Detroit came right back in the fourth when John Hicks and Rodriguez hit back-to-back doubles.
Soler's two-out single knocked in Alex Gordon in the fifth.
Tigers: SS Niko Goodrum was out of the lineup after fouling a ball off his kneecap Tuesday. "He's sore. There was some swelling. He's moving around. We'll talk to him and see how he feels and go on from there," Gardenhire said. ... INF Jeimer Candelario was set to begin his rehab assignment at Triple-A Toledo. He's been on the 10-day injured list since June 4 (retroactive to June 2) with left shoulder inflammation. ... RHP Jordan Zimmermann will pitch Thursday for Toledo on his rehab assignment.
Royals: 3B Hunter Dozier took grounders and some swings off a tee. Kansas City manager Ned Yost said Dozier was expected to take more swings in the cage Thursday. If everything goes well, he'll take batting practice on the field and likely head out on a rehab assignment.
LHP Matthew Boyd (5-4, 3.08 ERA) starts Thursday night for Detroit against RHP Homer Bailey (4-6, 5.90). Boyd's last appearance at TD Ameritrade Park in Omaha was in 2013, when he pitched a four-hit shutout to help Oregon State beat Indiana 1-0 in a College World Series elimination game.