It was the second career cycle for Beltre, who has had a sensational week while helping the Rangers win three in a row.
Harrison (15-7) gave up two hits and struck out five over eight innings. His 15 wins are the most he has had in a single season. He was also the starting pitcher four years ago when Beltre produced his other cycle.
Beltre had an RBI triple in the first, drove in a run with a double in the second, opened the fifth with a home run and then singled in the seventh.
Texas scored five times in the second with Ian Kinsler chipping in a two-run single in the inning.
Over the last three games Beltre has gone 10-for-14 with nine RBI and five home runs. He hit three home runs in as many at-bats Wednesday, two of those coming in the same inning.
The loss went to Samuel Deduno (4-2), who surrendered seven runs on 11 hits in five innings.