CHICAGO — For much of the season, Tim Anderson has been struggling to duplicate the promise he showed last year as a rookie.

He’s finally starting to feel he’s making progress.

Anderson homered and drove in three runs, Miguel Gonzalez tossed eight strong innings and the Chicago White Sox beat the Houston Astros 7-1 on Wednesday night, their second straight win over the team with the best record in the AL.

“I’m just really being more relaxed and just letting it happen,” said Anderson, who is now batting .242 with 11 homers. “It’s not like I have to force the issue.

“I’m playing like myself.”

Leury Garcia and Yolmer Sanchez each had two-run singles as Chicago won consecutive games for just the second time since last month’s All-Star break.

Gonzalez (6-10) allowed one run on five hits to record the 50th win of his career. He bounced back after getting shelled for seven runs on seven hits in 1 2/3 innings against Boston last Thursday.

“I was trying not to think about it,” Gonzalez said. “It’s definitely not easy because as starters we have four days to think about what we have to do to get better.”

Derek Fisher homered leading off the eighth for Houston’s only run. George Springer went 1 for 4 in his return from the 10-day disabled list. The Astros have dropped three of four overall and four straight on the road.

“The results, obviously, are going to be tough on our guys, but I’ve always liked our approach,” manager A.J. Hinch said. “All in all, it wasn’t a good night.”

Chicago rookie Yoan Moncada went 1 for 2 with two walks and has reached safely in 14 of his last 25 plate appearances.

Houston starter Colin McHugh (0-1) escaped a bases-loaded, no-out jam in the second inning, but Chicago broke through for four runs in the fifth.

Nicky Delmonico led off with a single and Anderson followed with a homer to make it 2-0. The next batter, Omar Narvaez, kept the rally going with a single and one out later Garcia hit a ground-rule double to put runners on second and third. Sanchez then singled to left to score both runners for a 4-0 lead.

The White Sox tacked on three runs in the sixth — highlighted by Anderson’s run-scoring double — to knock out McHugh. He allowed seven runs on nine hits in 5 1/3 innings.

Gonzalez’s only rough inning was the second, when he faced runners on second and third with one out. But he got Brian McCann to fly out to shallow right and struck out Fisher looking.

BIG SURPRISE

Gonzalez wasn’t aware it was his 50th win until asked by the media for his reaction after the game.

“It was my 50th? Really?” he said. “I didn’t even know. Well, that’s a blessing in disguise, for sure. I’m happy, I’m excited.”

MINORS MOVES

To make room for Springer on the roster, the Astros optioned 1B Tyler White to Triple-A Fresno. Hinch said it was a tough decision. “Tyler White deserved to stay,” Hinch said. “There’s only 25 roster spots.” White, 26, batted .310 with three homers and nine RBIs in nine games with Houston.

The White Sox announced a minor trade before the game, acquiring RHP Steve Johnson from Baltimore for cash considerations. Johnson, 29, was assigned to Triple-A Charlotte.

TRAINER’S ROOM

Astros: RHP Michael Feliz (right shoulder discomfort) is expected to begin throwing soon. He was placed on the 10-day DL on Aug. 1. . C Evan Gattis is still experiencing symptoms after being placed on the 7-day concussion DL on Saturday. . McHugh stayed in the game after being hit with a grounder on the left foot in the second.

White Sox: OF Avisail Garcia, who returned from the DL on Tuesday, said he still has inflammation in his right thumb but hopes to play through it. “Sometimes it hurts, sometimes no,” he said.

UP NEXT

Astros righty Brad Peacock (10-1, 3.20 ERA) will be matched against lefty Carlos Rodon (1-4, 4.66) in the series finale on Thursday night. Peacock got the win in his last start against Toronto despite allowing seven runs in six innings. Rodon tied his season high with 11 strikeouts against Boston on Aug. 4.