The Orioles finally gave up a run tonight, ending their scoreless innings streak at 28 and sending Chris Tillman to the bench.
Eric Thames led off the top of the eighth with a double into right-center field, and he scored on No. 9 hitter Munenori Kawasaki's single into center field. Kawasaki was thrown out trying to advance to second base, and Tillman walked off the mound to a standing ovation.
Tillman allowed one run and five hits, with one walk and five strikeouts. He threw 99 pitches, 68 for strikes.
Pedro Strop walked Dustin Ackley on four pitches before getting a called third strike on Michael Saunders and retiring Jesus Montero on a liner to shortstop J.J. Hardy.
Tillman has allowed two earned runs in 21 2/3 career innings against the Mariners.
The scoreless innings streak was the longest by the Orioles since they strung together 30 in a row on Aug. 27-31, 2010.
Mark Reynolds has his first three-hit game since July 16 and his second game with three hits or more since June 14.
Jim Johnson will try for his 33rd save in the top of the ninth, which would be the most by an Orioles pitcher since Chris Ray notched 33 in 2006.
Tonight's attendance: 21,184
Update: Johnson, pitching for the third time in three games, recorded his 33rd save by stranding two runners.
Orioles 3, Mariners 1.
Credit Reynolds with another fine play at first base to prevent a throwing error on Johnson and a run from scoring.
The Orioles (58-51) are seven games above .500 for the first time since July 22.