SEATTLE -- Brian Roberts, Melvin Mora and Miguel Tejada more than justified their spots in Baltimore's lineup.
Mora had three hits, two runs and three RBI, including a two-run homer in the first inning.The three players combined for all five runs and drove in four.
"When we struggle scoring runs, it's usually because our top guys in the order aren't doing anything," Orioles manager Sam Perlozzo said. "You see what happens when they start swinging the bats. When we get Brian, Melvin and Miggy hitting the ball, we look like a different team. It takes pressure off the guys at the bottom. They don't have to carry the load."
For the season, Roberts and Mora are hitting .435 (30-of-69) against the Mariners.
Orioles starter Rodrigo Lopez (14-9) beat Seattle for the third time in three meetings this season. He went 7 1/3 innings, allowing seven hits and two runs. He also improved to 7-0 with a 1.92 ERA in eight starts against AL West teams this season.
He entered this year 0-3 against Seattle.
"I couldn't get a win against them before this season. That's part of the game," said Lopez, who had lost three of his previous four starts. "Sometimes you are on top; sometimes on the bottom. I always try to come in with a positive mind in every game I pitch."
Richie Sexson hit a three-run homer in the eighth off Chris Ray, his 34th, to close the lead to 4-3. B.J. Ryan got the final four outs for his 30th save in 35 opportunities.
Ichiro Suzuki had four of the Mariners' eight hits, raising his batting average to .302. Three of the hits were infield singles. In the ninth, Suzuki came up with Miguel Ojeda on first, but Ryan struck him out to end the game.
"He's got a lot of power that people don't know about," Ryan said. "You have to get out there, make pitches and not put him into position to hit one out of the ballpark. We tried to make him chase some pitches off the plate."
Mariners starter Jeff Harris (2-3), who went just three innings in his previous start Monday against the Angels, allowed two runs after the first two batters.
Roberts opened with a single to right before Mora drove a 2-1 pitch over the left-field scoreboard.
The Orioles scored two more in the third. Roberts hit a ground-rule double with one out and moved to third when Harris' pickoff throw went into center field. Mora followed with a single just inside the third-base bag.
Javy Lopez added an RBI single later in the inning, but Baltimore failed to add to its lead when Walter Young singled to left -- his first major league hit -- but Jay Gibbons was tagged out at the plate on a nice one-hop throw from Raul Ibanez to Yorvit Torrealba.
"They have some great hitters over there," Harris said. "I made some mistakes and they made me pay for it. I was falling behind a lot. You can't pitch like that."
The Mariners threatened in the fourth after back-to-back one-out singles by Sexson and Adrian Beltre. But Lopez induced Greg Dobbs to bounce to shortstop Tejada, who turned the double play.
Yuniesky Betancourt tripled with two outs in the seventh, but pinch-hitter Dave Hansen hit a hard line drive to center.
The Mariners finally scored in the eighth. Suzuki opened with a single to short, and an error by second baseman Roberts put runners on first and second. The runners moved up on a groundout.
Perlozzo said he didn't want Lopez to lose the game so he replaced him with Ray, whose first pitch was hit by Sexson into the right-center field seats.
The Orioles added a run in the ninth on Tejada's two-out RBI double off Rafael Soriano.
Mariners manager Mike Hargrove received a quick ejection in the first inning for protesting a call at second base. Suzuki was called out by umpire Mike Winters on a steal attempt. Hargrove trotted out to argue and was tossed less than a minute later. It was just his second ejection this season. ... Entering the game, the Mariners had made just one error in their previous 14 games. Baltimore, on the other hand, had made at least one error in 12 of its previous 19 games. Each team committed one error Saturday. ... Torrealba was 0-for-3, extending his hitless streak to 19 at-bats.