The Baltimore bullpen recorded 12 2/3 innings of scoreless relief and Chris Davis forced extra innings with a two-run single in the ninth.
The result, after 5 hours, 44 minutes, extended the Baltimore team record with a 14th consecutive extra-inning victory. It also pulled the Orioles into a virtual tie with the New York Yankees for the lead in the American League East.
Tommy Hunter (5-8), the seventh Baltimore pitcher, allowed one hit over two innings in getting the win. Jim Johnson contributed a 1-2-3 18th for his major-league leading 44th save.
Seattle starter Erasmo Ramirez carried a two-hit shutout into the ninth but Ryan Flaherty and Nate McLouth singled for the Orioles to open the inning. Tom Wilhelmsen was brought in to pitch but both runners moved up on a sacrifice ahead of Davis's single to right that tied the score.
The Mariners, who had taken the lead in the fourth inning on a two-run home run by Miguel Olivo, had runners in scoring position in the 10th, 11th, 12th, 15th, 16th and 17th innings.
With Lucas Luetge (2-2) pitching, McLouth opened the Baltimore 18th with a walk. J.J. Hardy singled him to third and Teagarden followed with a hit to right that broke the tie. Mark Reynolds later had a ground out that scored another run.
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph
Police: Sword-wielding man demanded free tacos