SEATTLE -- Joel Pineiro got everything right at the wrong time for the Los Angeles Angels.
Pineiro pitched three-hit ball into the eighth inning, Raul Ibanez homered and had four hits, and the Seattle Mariners beat the Angels 8-1 Monday night to trim Los Angeles' lead in the AL West to one game over Oakland.
"It's probably one of the best games he's pitched against us," Angels manager Mike Scioscia said. "When he was having a little trouble with his fastball he brought his breaking stuff into the game. We didn't get too many good looks at him. He pitched a terrific ballgame against us."
Richie Sexson hit a two-run homer in the third, his 35th, to put the Mariners ahead 2-1. Ibanez stole home on a double steal in the fifth and hit his 18th homer in the seventh, a solo shot.
Pineiro (7-9) has fought through injuries and inconsistency for more than a year. He entered with a 5.43 ERA, but he has turned a dismal season around this month. In three starts spanning 22 1/3 innings, he has allowed only four runs for a 1.61 ERA.
"He pretty much kept a good-hitting ballclub off-balance all night," Mariners manager Mike Hargrove said. "We've seen him getting stronger and stronger and getting more confidence in himself. His last four or five outings, each one has been just a little bit better than the other one. And tonight was probably the best of them all."
Pineiro hurt his right elbow June 26 last year and was shut down for the rest of the season. He had another shoulder setback in spring training and did not make his first start until April 15. Then in late May he was taken out of the rotation for a week to refine his delivery.
"We didn't see any significant velocity until the last five, six, seven starts," pitching coach Bryan Price said. "He's throwing the ball better and the velocity has been on the increase the past four or five starts."
Chone Figgins doubled on Pineiro's second pitch, extending his hitting streak to 11 games. He scored on Garret Anderson's sacrifice fly. Of the 101 runs Pineiro has allowed this season, 16 have come in the first inning. But the Mariners improved to 16-33 when their opponent scores in the first.
After Adam Kennedy's one-out double in the third, Pineiro retired 14 batters in a row. He issued just one walk and struck out two in 7 2/3 innings. It was the second time he beat the Angels this season.
"I've been feeling great all year," Pineiro said. "It was just a matter of having that extra confidence to go out there and challenge people. Maybe it's a little too late in the season, but it's something I can carry over to next year."
The Angels are more concerned about this year.
"It's just as big as yesterday, tomorrow and the day after that," Kennedy said. "Every game gets big from here on out."
Kennedy added that Pineiro was "more like he was before he got hurt, more life on his ball, working both sides of the plate. His intensity and arm strength are back, and it shows."
Ichiro Suzuki opened the third with a single and stole second. Sexson's shot off Ervin Santana (8-8) gave him 106 RBI.
Santana threw 96 pitches in five innings. He gave up eight hits and four runs.
The Mariners added a run in the fourth on Yorvit Torrealba's RBI single with two outs.
Ibanez started the fifth with a double off the center-field wall. With two outs and runners at the corners, Adrian Beltre broke for second. Angels catcher Bengie Molina threw down, and Ibanez broke for the plate. Second baseman Kennedy's throw back home was wide and Ibanez slid in without a tag.
"I didn't even know that was a steal," Ibanez said. "It's a cheap steal."
It was the second steal of home by the Mariners this season. Bret Boone did it April 30 in Oakland, also on a double steal.
Ibanez homered on a 3-2 pitch from Kevin Gregg in the seventh, and Jose Lopez added an RBI double for a 6-1 lead.
Pineiro ran into trouble in the eighth and left with the bases loaded, but J.J. Putz retired Orlando Cabrera on a fly ball to end the inning.
The Mariners added two in the eighth on Jeremy Reed's RBI double and Ibanez's run-scoring single.