Derek Holland pitched into the eighth and Adrian Beltre hit a two-run homer to help the Texas Rangers hang on against the Seattle Mariners 3-2 on Friday night at Safeco Field.

Holland (6-4) entered the game with a 5.05 ERA and only one scoreless start in 2012, which was when he threw six innings at Baltimore on May 10.

Friday, he threw 7 2-3 innings, struck out four, walked two and didn't allow a run. Two of the four hits he gave up were to Casper Wells, and all were singles. Holland had thrown a previous high of 7 1/3 innings three times this season.

Seattle starter Kevin Millwood (3-7) threw 6 2-3 innings, allowed three earned runs on eight hits and two walks. He struck out four.

Rangers closer Joe Nathan picked up his 19th save despite a bumpy ninth inning. Nathan allowed three consecutive singles — to Kyle Seager, Justin Smoak and pinch-hitter John Jaso — but was helped by a base-running mistake by Michael Saunders and struck out Dustin Ackley with the bases loaded to end the game.

Beltre's 16th homer of the season came on a 1-0 pitch from Millwood in the sixth inning. It was Beltre's fourth career home run off the veteran and drove in Josh Hamilton, who had singled, to put the Rangers up 3-0.

Ian Kinsler's fifth-inning single to left produced an out and a run for Texas. Michael Young scored from third, but catcher Mike Napoli, who had stolen his first base of the year earlier in the inning, was thrown out at the plate by Wells. That ended an inning helped along by Ackley dropping the transfer on a likely double play off Napoli's bat.

The Mariners loaded the bases with one out in the fourth, but Holland wriggled free. Smoak put up a 10-pitch at-bat — which included a foul ball into the second deck about 15 feet left of the foul pole — before popping up to shortstop.

Miguel Olivo hit a flare into right field that Nelson Cruz charged in to slide and catch.

Holland finished the erratic inning, he walked two and threw seven consecutive balls at one point, without allowing a run.

NOTES: Texas starter Colby Lewis threw a bullpen session Friday and is on track to start Wednesday. Lewis is working back from right forearm tendinitis which put him on the disabled list June 24. . Mariners outfielder Franklin Gutierrez (concussion) was cleared for non-baseball exercise Friday. Gutierrez was hit in the ear by a pick-off throw to first base June 28 and was placed on the seven-day disabled list. . Seattle failed to sign its eighth-round pick Nick Halamandaris by Friday's deadline, and he will return to Cal.