Updated

J.J. Hardy hit a game-tying, three-run home run in the seventh inning and Adam Jones slapped a game-winning single in the 14th as the Baltimore Orioles edged the Seattle Mariners, 8-7, in the middle test of a three-game series at Camden Yards.

Matt Wieters had a pair of solo home runs for the Orioles, who won their 12th straight extra-inning game. Darren O'Day (6-0) tossed two scoreless innings of relief to earn the win.

"We're glad we got the game. It was an extra-inning game and everybody wanted to get out of here," Jones said. "We kept fighting."

Kyle Seager smacked a three-run homer in defeat for Seattle, which has lost four of its last five games.

After Seattle left a man on second in the 12th and 13th innings, the Orioles, who managed just one baserunner since the eighth inning, scored the game- winning run in the 14th thanks to a questionable call by first base umpire Brian Knight.

Omar Quintanilla opened the inning with a grounder up the middle off Shawn Kelley (2-3) that second baseman Dustin Ackley stopped with a diving effort and threw to first. The ball arrived to first well in front of Quintanilla, but Mike Carp had to stretch for the ball and Knight said Carp's foot was not on the bag.

Mariners manager Eric Wedge came out to argue the call and was ejected from the game.

Nick Markakis followed with a soft liner to left-center field for a base hit before Hardy's sacrifice bunt placed runners on second and third. Chris Davis was then intentionally walked to load the bases.

Jones followed with a sinking liner to right field that Casper Wells had skip underneath his glove for the game-deciding hit.

"A game shouldn't end like that when you're in the 14th inning," said Wedge. "For an umpire to get involved in that is just ridiculous."

Baltimore entered the seventh inning trailing 7-3 after Wieters' second solo homer of the game in the sixth, and Mark Reynolds opened the frame with a double into the left-field corner. Mariners left fielder Trayvon Robinson dropped a fly ball in foul territory two pitches prior to the hit.

Mariners starter Blake Beavan was then replaced by Lucas Luetge and the reliever immediately surrendered a run-scoring single up the middle by Quintanilla. After a Markakis bloop single to left field, Hardy hammered a ball into the left-field bleachers to tie the game at 7-7.

Seattle would strand a man on second in the top of the ninth before the Orioles went down in order in the bottom of the inning to force extras.

Seattle jumped out to a quick 3-0 lead in the top of the first inning when Ackley reached first on Seattle starter Zach Britton's fielding error on a dribbler in front of the plate and Jesus Montero singled with two outs on a hard grounder to third that Wilson Betemit could not corral. Seager made them pay with a long drive over the right-center field wall.

The Mariners added to their lead in the second inning, starting with Miguel Olivo's solo shot to right-center with one out.

Munenori Kawasaki, Ackley and Robinson followed with three straight singles to plate Kawasaki, but after Montero was intentionally walked to load the bases with two outs, Seager hit a liner right back to the mound to end the inning and keep it a 5-0 game.

Baltimore got a couple of runs back in the bottom of the second with Wieters' leadoff blast to straightaway center field and a Markakis RBI single later in the frame.

But Seattle regained some cushion in the sixth inning when Wells hit a leadoff double and moved to third when left fielder Nate McLouth fell down while fielding the ball. He came home on Carp's base hit to left, knocking Britton out of the game.

Betemit then had a bouncer off the bat of Olivo skip through his legs to place runners on second and third, and Ackley hit a ball back up the middle two batters later to bring home Carp. Olivo, however, was thrown out at the plate by Jones to keep the score 7-2.

Game Notes

Beavan allowed four runs on seven hits and a walk over six-plus innings...Britton gave up seven runs -- four earned -- on eight hits and two walks with six strikeouts in five-plus innings. He was optioned to Triple-A Norfolk after the game...The game lasted four hours and 55 minutes...Seattle went 4-for-14 with runners in scoring position and left 13 men on base...The Orioles hit 4-for-7 with runners in scoring position and stranded 10.