ANAHEIM, Calif. — Mike Trout went 4 for 4, scored four runs and hit his AL-leading 40th homer, and Andrew Heaney pitched seven innings of four-hit ball in the Los Angeles Angels' 8-7 victory over the Chicago White Sox on Thursday night.

Trout put a solo shot off Reynaldo Lopez (7-10) into the fake rock pile beyond centre field in the third inning, keeping pace with the Dodgers' Cody Bellinger for the overall major league homers lead and reaching another franchise milestone.

The two-time AL MVP became the fastest player to 40 homers in Angels history and the fifth-fastest in the majors in this century by reaching the mark in 123 games — 13 fewer than Troy Glaus needed for the Halos in 2000.

The Angels took an 8-3 lead into the ninth, but nearly blew it by allowing five hits. James McCann had an RBI triple off Trevor Cahill before Welington Castillo hit a two-run homer off Hansel Robles.

Robles gave up another one-out single, but struck out Ryan Goins with a runner on second to earn his 17th save.

Trout reached base five times, emphatically snapping an 0-for-11 mini-slump with four consecutive hits before drawing a four-pitch walk in the eighth.

Trout's career high is 41 homers, and the Angels' single-season franchise record is 47 by Glaus in 2000. Both are easily reachable for the majors' leader in on-base percentage and the AL leader in slugging percentage and OPS.

Justin Upton hit a three-run homer and drove in four runs, and David Fletcher hit a tiebreaking two-run single as the Angels earned their fourth win in six games.

José Abreu hit two homers for the White Sox in the opener of a four-game weekend series between two big-city AL clubs sitting well outside the playoff race in mid-August.

Heaney (2-3) yielded three runs in his first victory since June, striking out six and walking none in his second start back from a shoulder injury. He retired the first 10 White Sox, followed by eight more in a row after Abreu's two-run shot in the fourth.

Abreu also led off the seventh with a homer, his 26th of the season.

Trout scored from second on a bases-loaded single by Fletcher in the fifth.

Upton then connected for his eighth homer immediately after second baseman Yolmer Sanchez bobbled Shohei Ohtani's grounder, which would have ended the sixth inning.

Lopez yielded nine hits and five runs while pitching into the sixth inning of his first loss in four starts.

Ohtani went 2 for 5, giving him 12 hits in his last six games.

TRAINER'S ROOM

White Sox: Leury Garcia returned to the starting lineup after missing four games with a bruised finger. He started at third base for the first time this season and the 15th time in his career. ... Yoan Moncada will play a rehab game with Triple-A Charlotte on Friday. He's out with a strained right hamstring.

Angels: RHP Keynan Middleton will continue his rehab assignment with Triple-A Salt Lake on Friday. The reliever is almost back from Tommy John surgery.

UP NEXT

All-Star Lucas Giolito (12-6, 3.42 ERA) looks for his second win in eight starts for the White Sox. He faces Patrick Sandoval (0-0, 5.59 ERA), who makes his third career start for the Halos.

___

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports