It took the Kansas City Royals into the seventh inning before knocking Jordan Zimmermann from the game, and it took them until the ninth inning before they finally punctured the scoreboard.
They ran out of outs with the tying runner on second base.
Alex Gordon and Salvador Perez gave the Royals a chance with back-to-back homers off Detroit closer Francisco Rodriguez. But the veteran bounced back to strike out Mike Moustakas and strand two runners on base, preserving the Tigers' 3-2 victory Wednesday night at Kauffman Stadium.
"I figured it was going to be a pitcher's duel," Royals manager Ned Yost said.
Jordan Zimmermann got the better of it for Detroit, scattering seven hits and a walk over 6 1/3 innings with eight strikeouts. He has yet to allow a run over 19 1/3 innings, a stretch that is beginning to make the $110 million, five-year contract he signed in November look like a bargain.
It's the longest scoreless stretch to start a season by a Detroit pitcher since at least 1913.
"He's aggressive. He's not scared to throw his fastball," Perez said. "If you keep the ball down, it's hard to hit a guy like that."
Then there was Rodriguez, who earned his fourth save of the season. It was the 390th of his career, matching Dennis Eckersley for sixth-most on baseball's career list.
"It was his to save or lose," Tigers manager Brad Ausmus said.
Victor Martinez drove in the 1,000th run of his career, and Ian Kinsler drove in the other two runs for Detroit, which did just enough against Ian Kennedy (2-1) and the Kansas City bullpen. Kennedy allowed two runs on six hits and two walks while striking out seven in his third straight solid start.
"They have a really good lineup over there, a really good team," he said. "They keep it really close. Zimmermann did a really good job."
The Tigers beat the Royals with their own formula: timely hitting and solid defense.
One night after watching Kansas City score all of its runs with two outs in an 8-6 defeat, Kinsler drove in the first run of Wednesday night's game with a two-out double in the third inning.
Martinez added his run-scoring single with two outs in the sixth. He joined teammate Miguel Cabrera, Andres Galarraga, Bobby Abreu and Magglio Ordonez as the only Venezuelan-born players with 1,000 RBIs.
The few base runners that Zimmermann allowed were squandered by Kansas City.
Moustakas was caught wandering too far off first and got nabbed in a run-down to end the third inning. Then in the fifth, after putting runners on first and second with nobody out, Omar Infante failed to get down a bunt before striking out and Jarrod Dyson grounded into a double play.
The one big mistake Zimmermann made came in the sixth, when he bobbled a bouncer from Eric Hosmer's bat for an error. He rebounded to retire Kendrys Morales and strand a pair of runners.
"Just keep pounding the zone. I had good fastball command for the first time all year," Zimmermann said. "I got two strikes on a lot of guys and was able to put them away."
Stats and streaks
Perez homered for the second straight game. He hit a three-run shot Tuesday night. ... Hosmer pushed his on-base streak to 22 games, the longest in the AL. The Tigers' J.D. Martinez reached base in his 19th straight. ... The Tigers (8-5) improved to 6-0 when scoring first.
For the kids
Royals GM Dayton Moore joined Mayor Sly James in breaking ground on the Kansas City Urban Youth Academy on Wednesday. Several members of the Royals have donated money to the $14 million facility, which will feature baseball and softball fields, revamped playgrounds and other amenities.
Royals reliever Joakim Soria discovered a mechanical problem in his delivery during a video session with manager Ned Yost and pitching coach Dave Eiland on Wednesday. Soria thinks the flaw is the reason he has struggled after signing a $25 million, three-year deal in the offseason.
Tigers C James McCann is hitting in the cage and was expected to begin throwing Wednesday, though it's still unclear when he will return. He went on the DL on April 12 with a sprained right ankle.
Royals RHP Edinson Volquez (2-0, 2.04 ERA) tries to remain perfect when he makes his third start of the season in the series finale. Tigers RHP Mike Pelfrey opposes him in the 6:15 p.m. game.