BALTIMORE -- Playing without two injured starters, the Baltimore Orioles were eager to prove they still had enough punch to tighten their hold on first place in the AL East.
Rafael Palmeiro provided the necessary offense, and right-hander Rodrigo Lopez made sure it was enough to beat the Seattle Mariners.
Lopez pitched eight innings of five-hit ball to end a run of seven starts without a win, and Palmeiro homered off Orioles nemesis Jamie Moyer in a 3-1 victory Wednesday night.
Baltimore second baseman Brian Roberts, who started the day as the AL's batting leader, missed his first game of the year with a bruised knee. The Orioles were also without catcher Javy Lopez, who was placed on the 15-day disabled list with a broken bone in his right hand.
"These guys know what's going on. They know what's happened, and what has to be done," Orioles manager Lee Mazzilli said. "There's nothing more to be said."
Palmeiro's two-run homer capped a three-run first inning that carried the Orioles to their seventh straight home victory over the Mariners. The win, accomplished in a mere one hour, 55 minutes, enabled Baltimore to open a four-game lead over second-place Boston, which lost 6-1 in Toronto on Wednesday.
"Everybody had to step up," Palmeiro said. "Rodrigo pitched a great game. That's why we won."
Lopez (3-2) allowed one run, struck out two and walked none. He was 0-2 since winning his first two starts of the season and was coming off three appearances in which he surrendered a total of 17 runs.
"This time I felt more relaxed, more calm on the mound," Lopez said. "Sometimes I just get too emotional. That was the difference."
B.J. Ryan worked a perfect the ninth for his 14th save and second in two nights.
Lopez outpitched Moyer (4-2), who struggled in the first inning before blanking the Orioles the rest of the way. The left-hander yielded only five hits in eight innings but fell to 15-3 against his former team.
"Once out of the first inning, he threw the ball extremely well," Mariners manager Mike Hargrove said. "The hits he gave up in the first were a broken bat and a jam shot down the line for a double, then Raffy hit the ball."
With one out in the first, Melvin Mora singled, took third on a double by Miguel Tejada and scored on a sacrifice fly by Sammy Sosa before Palmeiro hit a 3-2 pitch off the foul pole in right, his 556th career homer.
"It was down and it had too much of the plate," Moyer said. "I haven't seen the replay, but it probably was a pitch he had no business swinging at."
After Jay Gibbons drew a one-out walk in the second inning, Moyer retired 17 straight batters before Gibbons singled with one out in the eighth.
"I felt like I did everything I set out to do," said Moyer, who was vying to pass Randy Johnson on the Mariners' career win list. Both have 130 with Seattle.
Moyer did his part, but Lopez was too tough. The Mariners managed only one runner until the fifth, when Raul Ibanez hit a leadoff double and scored on a single by rookie Jeremy Reed.
"I think Rodrigo got one pitch up all night, that one to Reed," Mazzilli said.
Randy Winn and Adrian Beltre hit two-out singles in the sixth for Seattle before Lopez retired Richie Sexson on a grounder.
"You're going along thinking you're going to get to Rodrigo, and you look up and it's the eighth inning," Hargrove said. "Both pitchers threw the ball well, they threw strikes and plays were made, so it was a quick game."
Palmeiro's homer was his 210th with Baltimore, moving him past Brady Anderson into sole possession of fifth place on the team's career list. ... Seattle's Ichiro Suzuki went 0-for-4, only the ninth time in 45 games he was held hitless. ... The Orioles signed C Sal Fasano to replace Lopez on the roster. Fasano re-signed with Baltimore after being designated for assignment just 24 hours earlier.