DETROIT -- With only four previous starts in the major leagues, Spencer Turnbull was easily the least experienced member of Detroit's starting rotation.
That made him an interesting choice to start the home opener -- but the 26-year-old right-hander was up to the challenge.
"It was a dream come true," Turnbull said. "It's the coolest feeling in my life so far. Cool -- emphasis on the cool. It was very cold."
Turnbull struck out 10 in six chilly innings, and the Tigers drew four straight walks to start the bottom of the seventh, taking the lead for good in their 5-4 victory over the Kansas City Royals on Thursday. Josh Harrison stole two bases and scored three times for Detroit.
The temperature at gametime was 39 degrees.
It was tied at 3 in the seventh when Kansas City reliever Kyle Zimmer (0-1) walked Harrison, Nicholas Castellanos and Miguel Cabrera in succession. Kevin McCarthy then came on and walked Niko Goodrum on four pitches, forcing in a run.
"There's no excuse for that," Zimmer said. "Yes, it was cold, but not any colder than it was for any other pitcher. I just didn't do my job. I just cost our team a game. This one is completely on me."
Christin Stewart added a sacrifice fly that inning to make it 5-3. Blaine Hardy (1-0) allowed a solo homer to Alex Gordon in the eighth, his second inning of work. Shane Greene pitched the ninth for his fifth save in five chances.
Whit Merrifield singled, tripled and scored twice for the Royals, extending his hitting streak to 26 games dating to last season. He came up with two outs in the ninth and Billy Hamilton on first, but the speedy Hamilton never stole second, and Merrifield grounded out.
Turnbull, impressive enough in spring training to earn a spot in the rotation, allowed two earned runs. He yielded six hits and two walks but prevented Kansas City from any big innings.
The Royals have lost four straight after winning their first two games this season. Detroit's five runs were a season high. The Tigers had scored only 12 runs through their first seven games.
Detroit's outfield wasn't sharp defensively, and that helped Kansas City score two runs. An error by Castellanos in right field allowed Gordon to score from first on Jorge Soler's double in the first. In the fifth, Goodrum was unable to cut off a ball hit to center, and Merrifield ended up with a leadoff triple. He came home on Gordon's sacrifice fly for a 3-2 lead.
Goodrum answered with his bat, however, hitting a flare past first base for an RBI double in the bottom of the inning.
Cabrera hit an RBI single in Detroit's two-run first.
Royals starter Jakob Junis allowed three runs in six innings.
"I knew Jake was going to settle down, but I was afraid the first inning was going to get away from him before he got there," Kansas City manager Ned Yost said. "Luckily, he did a nice job of limiting the damage."
Mary Wilson of the Supremes sang the national anthem before the game, and former Detroit reliever Guillermo Hernandez was on hand for the ceremonial first pitch.
Then the Tigers went out and improved to 5-3 -- a nice start for a team coming off back-to-back 98-loss seasons.
"The fans here are pretty knowledgeable baseball people, and they understand what we're going through, but it's like everybody else. Fans have a lot of hopes and big dreams of us coming out and winning and getting right back into the playoffs," Detroit manager Ron Gardenhire said. "That's the same dreams we have inside of the clubhouse. We don't want to hear anybody tell us how bad we are."
The Royals hadn't made an error all season before a pair of miscues Thursday. Catcher Martin Maldonado had a throwing error in the fifth, and Merrifield, the second baseman, followed suit in the sixth.
Tampa Bay is the last remaining team without an error.
Tigers: Detroit is without OF JaCoby Jones (left shoulder), and his absence appeared to hurt the Tigers defensively Thursday.
Tigers: LHP Matt Moore (0-0) makes his first home start for Detroit.
Follow Noah Trister at www.Twitter.com/noahtrister
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Cortes Jr. expected to start for New York against Baltimore
Baltimore Orioles (38-67, fifth in the AL East) vs. New York Yankees (56-49, third in the AL East)
Maeda expected to start for the Twins against Reds
Minnesota Twins (44-62, fifth in the AL Central) vs. Cincinnati Reds (56-50, second in the NL Central)
Buehler expected to start for Los Angeles against Houston
Houston Astros (64-42, first in the AL West) vs. Los Angeles Dodgers (64-43, second in the NL West)
Mets to face Marlins on the road
New York Mets (55-50, first in the NL East) vs. Miami Marlins (45-61, fifth in the NL East)
Peralta expected to start as Tigers host the Red Sox
Boston Red Sox (63-44, second in the AL East) vs. Detroit Tigers (51-57, third in the AL Central)
Corbin expected to start for the Nationals against the Phillies
Philadelphia Phillies (53-53, second in the NL East) vs. Washington Nationals (49-57, fourth in the NL East)