After a rough outing from Lance Lynn and six mostly fruitless innings against Justin Verlander, the St. Louis Cardinals nearly broke through against the Detroit ace in the seventh.

Instead, Allen Craig chased a breaking ball for strike three.

"We put a little pressure on him late, but we couldn't get the big hit that we needed," St. Louis manager Mike Matheny said. "Our guys were definitely up for the challenge, but that's what he does. The great ones always have that extra gear when they need it."

Verlander allowed one earned run in seven innings, leading the Tigers to a 6-3 victory over the Cardinals on Tuesday night. Verlander retired 12 of the first 13 hitters he faced and worked out of a bases-loaded jam in the seventh to help Detroit hold on.

Verlander (7-4) struck out Craig with his final pitch. He allowed five hits and walked four, striking out three.

Joaquin Benoit worked the eighth, and Phil Coke pitched a perfect ninth for his first save of the year, with closer Jose Valverde unavailable because of pain in his right wrist.

Lynn (10-3) allowed five runs and nine hits in five innings. He struck out four and walked two.

"I really needed my 'A' game tonight, especially against Verlander, but I didn't bring it," Lynn said. "My fastball wasn't where I wanted it tonight, and I was leaving too many pitches up."

Austin Jackson hit a two-run double for the Tigers, part of their three-run second inning.

Verlander worked at least six innings for a 57th straight start, the longest streak since Steve Carlton's 69-gamer from 1979-82. Last year's AL Cy Young and MVP winner had struck out at least four batters in every start this season, but the Cardinals were able to make consistent contact.

Verlander allowed a hit and two walks in the seventh to load the bases before Quintin Berry, the left fielder, dropped Carlos Beltran's deep flyball for an error that allowed two runs to score, making it 6-3. Detroit has already made its share of big mistakes in the field this year, and after a walk to Matt Holliday, the bases were loaded again.

With Craig hitting, Verlander reached 101 mph with his 105th pitch of the night. Then he hit 100 with the next one. Two pitches later, Craig swung and missed for strike three.

"In his last inning, he's throwing every fastball at 100 or 101, and then he's throwing great breaking balls in the 80s," St. Louis second baseman Daniel Descalso said. "We were doing everything we can to battle him, but it's tough when he's got that many weapons."

The Tigers are slowly climbing out of a hole in the AL Central. They trail first-place Cleveland by two games.

Miguel Cabrera doubled in the first and scored on a single by Delmon Young. Jackson's double with the bases loaded in the second made it 3-0, and Berry followed with an RBI groundout.

Young brought home another run with a single in the fifth.

Lynn had allowed five runs only one other time as a starter, on June 2, 2011, against San Francisco.

Holliday drove in a run with a sixth-inning groundout, but Cabrera's RBI single in the bottom half made it 6-1.

NOTES: Detroit activated RHP Octavio Dotel from the disabled list and optioned RHP Thad Weber to Triple-A Toledo. The Tigers also released Toledo DH Brad Eldred, saying he had decided to sign with the Hiroshima Toyo Carp of Japan. ... Verlander is 18-2 in 24 starts in interleague play. ... Detroit LHP Drew Smyly (blister on left middle finger) threw a bullpen session Tuesday and says he'll be ready when he's eligible to come off the DL on June 26. ... Detroit RHP Rick Porcello (4-4) will face St. Louis RHP Jake Westbrook (5-6) on Wednesday night.