Spencer Turnbull struck out 10 in six innings, and the Detroit 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 the Tigers in their home opener. 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.

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 in just his fifth major league start. 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.