Garrett Richards (13-10) pitched five-hit ball into the seventh inning of his seventh consecutive win over Texas, and the Angels opened a probable make-or-break homestand for their playoff hopes with their third straight win.
Shin-Soo Choo had an RBI triple in the seventh for the Rangers, who had won six of seven.
Cron came through with a bases-loaded, two-out single in the third for the Angels' first runs against Martin Perez (2-4).
The streaky designated hitter added an RBI triple in the fifth and a run-scoring double in the seventh, improving to a jaw-dropping 23 for 50 (.460) with 17 RBIs against Texas this season.
Mike Trout and Kole Calhoun scored two runs apiece for the Angels, whose hopes for a repeat postseason appearance are in danger after they dropped 15 of 21 to finish August. They lost seven games in the AL West standings to Houston and ceded the second wild-card spot to the Rangers during the skid.
This victory trimmed Texas' wild-card lead to 2 1-2 games over Los Angeles, with Minnesota (69-65) between the Rangers (70-63) and Angels (68-66).
Richards wasn't sharp, allowing a baserunner in every inning while walking a season-high five. Huston Street pitched the ninth for his 32nd save, tied for second-most in the AL.
Perez gave up five hits, four walks and three runs, with Cron doing all of the real damage.
Cron drove a triple off the elevated wall in center field roughly 400 feet from home plate in the fifth, scoring less-than-speedy Albert Pujols from first base for a 3-0 lead.
Texas finally got on the board without a hit in the sixth when Prince Fielder scored on Rougned Odor's bases-loaded sacrifice fly to left, crossing the plate an instant before Mitch Moreland was caught off second base for the third out. Angels manager Mike Scioscia protested the call, but it was upheld on video review.
The Rangers trimmed the lead to 3-2 when Shane Victorino couldn't make a running catch on Choo's two-out drive to left, but reliever Trevor Gott eventually got Adrian Beltre on a groundout to end the rally.
Reliever Luke Jackson made his major league debut for Texas in the seventh. The 24-year-old former first-round draft pick gave up Cron's RBI double while surrendering two hits, two runs and a walk.
Rangers: OF Josh Hamilton was loudly booed by Angel Stadium fans before he grounded out as a pinch-hitter in the seventh. Los Angeles traded the slugger back to Texas in April. His sore right knee is limiting him.
Angels: 2B Johnny Giavotella revealed he is out indefinitely with nerve palsy, which causes double vision. He hasn't played since Aug. 20.
Rangers: Derek Holland (2-1, 2.82 ERA) makes his fifth start of the season, and his first on the road since last September.
Angels: Jered Weaver (6-10, 4.94 ERA) returns from two poor road starts to face Texas for the first time this season.