DETROIT -- Zach Britton had his best start of the season when the Baltimore Orioles needed it the most.
Britton threw seven scoreless innings, Chris Davis hit a three-run homer and the Orioles snapped the Detroit Tigers' four-game winning streak with a 3-2 victory on Saturday night.
Britton (2-1) allowed six hits, struck out five and walked three as Baltimore won for the fourth time in six games to remain in control of the second wild-card spot in the American League. The left-hander recorded his longest start of the season after opening the year on the disabled list and spending more than a month at Triple-A Norfolk.
"The defense played great and (catcher) Matt (Wieters) called a great game," Britton said.
"It gave me confidence."
Adam Jones and Wieters opened the seventh inning with consecutive singles off Rick Porcello (9-8). Davis then drove a 1-1 pitch to left for his 19th homer, snapping a scoreless tie.
"I didn't think it was going to go out," said Davis, whose shot barely cleared the wall. "I was just hoping it would get over Andy (Dirks') head."
Jhonny Peralta hit a two-run single off Pedro Strop with two out in the eighth, trimming Detroit's deficit to one. But Peralta was caught in a rundown to end the inning and Jim Johnson got three outs for his 36th save.
The Orioles have won 12 consecutive one-run games, matching the club record. Three other Baltimore teams have won a dozen straight one-run games. The most recent was the 1979 American League champions. The current club is 23-6 in one-run games.
"Zach was the difference today," Orioles manager Buck Showalter said. "Porcello was dealing and Zach matched him.
"I thought he had a really good presence about him. He kept pounding the zone."
Porcello looked sharp early -- he retired 11 straight after allowing two third-inning singles -- but ran into trouble in the seventh.
"One pitch was what we got beat on, and it wasn't even a bad pitch," he said. "Sometimes you gotta tip your hat to them. Not only did he get a hit off of it, but he hurt us with three runs.
"We were neck-and-neck there up until the seventh inning and it just went their way and not ours. It happens."
Detroit's slugging tandem of Miguel Cabrera and Prince Fielder reached base six times in eight plate appearances but scored only one run. The next three spots in the lineup were a combined 2 for 10 with three strikeouts when either of the duo was on base.
"Right off the bat, we had some opportunities and we didn't take advantage of it," manager Jim Leyland said, "and sometimes in games that comes back to haunt you."
Porcello, who lost a second straight start, surrendered seven hits and struck out six. It was a rare home loss for the Tigers, who had won 17 of their last 20 at Comerica Park.
They remained 1 1/2 games behind AL Central-leading Chicago, which lost at Kansas City.
Strop hit Cabrera in the upper left arm in the eighth but the third baseman stayed in the game. ... Showalter said RHP Jason Hammel (right knee injury) had an encouraging 40-pitch rehab session and will try another on Monday. He's been on the disabled list since July 15. . Cabrera was 2 for 2 and is hitting .494 against Baltimore since the start of the 2010 season.