Updated

Mike Napoli and Nelson Cruz both homered before combining on a big defensive play, and Matt Harrison pitched eight strong innings to lead the Texas Rangers past the Seattle Mariners 4-2 on Monday night.

Napoli homered for the second game in a row, a tiebreaking, three-run shot in the sixth. Cruz went deep in the second to help the Rangers win their fourth straight game.

Harrison (6-3) struck out five and allowed two runs. Joe Nathan worked the ninth for his 11th save in 12 chances.

After Michael Saunders singled in the eighth for Seattle, Brendan Ryan hit a liner to right-center that bounced over the glove of a diving Craig Gentry and rolled to the wall.

Saunders scored easily, but Cruz ran the ball down and threw to second baseman Ian Kinsler, who made a perfect relay to the plate. Napoli tagged out the sliding Ryan, who was denied an inside-the-park homer because the catcher had blocked the plate with his left leg.

The Rangers (31-18) have the best record in the American League, but only one winning streak longer than four in a row — an eight-gamer in April.

Napoli's ninth homer came off reliever Steve Delabar (1-1), who gave up three runs while facing only four batters. Napoli was mired in a career-long 24-game homerless drought before his two-run shot Sunday.

After Kevin Millwood was replaced by Delabar to start the sixth, the reliever walked Adrian Beltre and gave up a single to David Murphy before striking out Cruz. With Rangers fans chanting "Nap-o-li!, Nap-o-li!", the catcher hit a 401-foot homer that ricocheted off the facade of the second deck of seats in right field for a 4-1 lead.

The 37-year-old Millwood struck out five and allowed only one run, but was done after throwing 97 pitches on a warm night in Texas, his home park from 2006-09.

Millwood still has allowed only two earned runs over 27 innings (0.67 ERA) in his last four starts. He matched his career-high streak of consecutive scoreless innings at 18 after getting through the first, but Cruz ended that an inning later with his one-out homer down the right-field line that tied the game at 1.

Seattle led 1-0 in the first after Chone Figgins snapped an 0-for-24 slide with a double, his first hit since April 29. Though Figgins was retired on a fielder's choice by Ichiro Suzuki, he stayed in a rundown long enough for Suzuki to get to second base. Jesus Montero followed with an RBI single.

Cruz also got an outfield assist in the fifth after Kinsler misplayed Alex Liddi's popup in short right. Cruz picked up the ball and fired to first baseman Mitch Moreland to catch Liddi off base, and the runner was tagged out in a rundown.

NOTES: Rangers RHP Scott Feldman (0-2) gets another start Tuesday, his second in a row against the Mariners since Neftali Feliz went on the disabled list. Feldman gave up a grand slam and lost at Seattle last Wednesday. ... Mariners lefty Jason Vargas (5-4, 3.39 ERA) starts Tuesday. ... Rangers right-handed reliever Alexi Ogando has a bruised right hand. Manager Ron Washington said Ogando was just sore. ... Washington said RHP Yu Darvish was getting treatment for back stiffness, but said the pitcher is fine.