ARLINGTON, Texas — Rougned Odor and the Texas Rangers are running away with the AL West, even though the Houston Astros keep trying to hang around.

The fiery second baseman homered for the third straight game in a seven-run fourth inning, Carlos Gomez had two hits in his first game against his former team and the Rangers held on for a 10-8 victory over the Astros on Friday night.

The Rangers nearly squandered a seven-run lead but won their sixth straight to push their AL West advantage to 9 1/2 games over the second-place Astros.

Houston lost the first of 13 straight games against division leaders to start September, six of those against Texas. The Rangers are 12-2 against their in-state rivals this season and have won 20 of the past 24 meetings.

“We’ve still got another month, man,” shortstop Elvis Andrus said. “As bad as it’s going to sound, you don’t want to smell it yet. You want to keep pushing and keep creating space.”

Odor’s team-leading 28th home run was one of three in the fourth inning against Doug Fister (12-10), who came out after Jonathan Lucroy followed Odor’s shot to right with a line drive just over the 14-foot wall in left for a 9-2 lead.

The 22-year-old has four homers in three games — the first three in the last two games of a sweep of Seattle that essentially ended the Mariners’ hopes in the division race.

Alex Bregman had a solo homer and a two-run triple but popped out to end the eighth with two runners on after the Astros had pulled within two.

“It was definitely a tale of a couple different games,” Houston manager A.J. Hinch said. “Our guys aren’t going to fold up and call it a game. But just not enough.”

Gomez, dumped by the Astros early last month barely a year after they acquired the underperforming two-time All-Star, reached in his first three plate appearances on a double, single and walk and scored three runs.

A.J. Griffin (7-3) improved to 5-0 in his career against Houston, allowing three hits and three runs in 5 2/3 innings.

Sam Dyson pitched a perfect ninth for his 31st save after five other relievers combined to allow five runs — four earned — on four hits with three walks.

“That’s a young group over there (and) they’re going to continue to fight,” Texas manager Jeff Banister said of the Astros. “Was it pretty? No, but we got the job done.”

Carlos Beltran homered in the fourth, his 26th overall and fourth since coming to the Rangers from the New York Yankees at the Aug. 1 trade deadline. He had three RBIs.

Fister allowed season highs in hits (10), runs (eight) and earned runs (seven).

WHERE’S THE BALL?

The Rangers pulled even at 2 in the second by scoring two runs on a bouncer to third by Andrus. First baseman A.J. Reed caught Bregman’s high throw as Lucroy scored but didn’t realize the ball was knocked out of his glove on the tag as Andrus ran by him, allowing Gomez to score.

TRAINER’S ROOM

Astros: 1B Marwin Gonzalez was day to day after leaving the previous game with discomfort in his right hamstring. A similar problem sidelined him for several games a month ago.

Rangers: RHP Colby Lewis (right lat strain) will make the trip to Seattle and pitch Monday for Class A Spokane at Everett, near Seattle. He could return to the rotation after what will be his third rehab outing.

UP NEXT

Astros: Rookie RHP Joe Musgrove (2-2, 4.36 ERA) allowed one run in seven innings against Texas in his first big league start Aug. 7, five days after his debut in relief. He’s been in the rotation since then.

Rangers: LHP Derek Holland (6-6, 4.68) is 1-1 with a 1.50 ERA in two starts since returning from a stint on the 60-day disabled list because of left shoulder inflammation.