PHILADELPHIA -- The Milwaukee Brewers continue to make themselves right at home in Citizens Bank Park.

Chase Anderson won for just the second time in his past 10 starts, and Chris Carter and Jonathan Villar homered as the Brewers beat the Philadelphia Phillies 4-1 Thursday night, their eighth consecutive victory in Philadelphia.

Milwaukee manager Craig Counsell, whose team won its fourth straight road game overall, is at a loss to explain why it now has a home away from home.

"We've probably pitched well here," he said.

Anderson, who began the night 1-6 with two no-decisions since winning his first start of the season, went 5 2/3 innings and allowed one run and three hits while striking out six. He didn't walk a batter, but he did hit one, while improving to 3-6.

Will Smith pitched 1 1/3 scoreless innings in relief for Milwaukee, and Tyler Thornburg worked a perfect eighth. Jeremy Jeffress, who earned his 14th save, pitched around a leadoff double in the ninth to close it out.

Carter homered off Phillies starter Jerad Eickhoff (2-8) in the fourth inning, and Villar added a two-run shot in the ninth off reliever Jeanmar Gomez.

Maikel Franco homered to account for the lone run by the Phillies, who saw their season-worst losing streak reach seven. They have just 12 runs during the skid.

"Nothing's really going right for us these days," Philadelphia manager Pete Mackanin said. "I know we're better than we've played the last 10 days or so. Things just haven't been working for us. The main culprit is our offense. We need more offense."

The Phillies have scored 167 runs this season, just one more than the Atlanta Braves' major-league-worst total.

"We didn't look good tonight," Mackanin said. "Anderson had a good changeup. He made everybody look bad. ... But we need to start making some pitchers look bad. I think we're capable of it."

Eickhoff went 6 2/3 innings, departing after Keon Broxton lined a ball off his left ankle in the seventh inning. Eickhoff yielded two runs and eight hits while striking out four and walking one.

X-rays were negative, and he does not believe the injury is serious.

"It's going to be a little swollen, I think, tomorrow, but I can walk on it fine, and it feels OK to move around on," Eickhoff said. "I think it will be all right."

He called his outing "pretty good" while adding there were a few pitches he could have executed better, notably the 1-2 breaking ball that Carter hit for his homer.

"He didn't have his best command," Mackanin said, "but he made pitches when he had to, and he really battled to get us into that seventh inning."

Milwaukee's Jonathan Lucroy led off the second with a single and tried to score one out later on a double by Kirk Nieuwenhuis. However, he was gunned down at the plate by second baseman Andres Blanco after right fielder Jimmy Paredes dug the ball out of the corner.

Nieuwenhuis took third on the throw, then scored the game's first run on a double by Aaron Hill.

Carter made it 2-0 with his 14th homer of the year, a two-out solo shot to left-center in the fourth, but Franco answered with a solo blast in the bottom of the inning. It was Franco's ninth homer of the season.

Franco is 4-for-6 with two homers in his career against Anderson.

"I can't figure that guy out," Anderson said. "Glad I don't have to see him again this year."

Down 2-1, the Phillies put the tying run at third base with one out in the sixth, but Anderson struck out Paredes with a changeup.

"Wanted it pretty bad," Anderson said. "They're an aggressive team. They're swinging the bats. Was trying to get a weak grounder or strikeout."

Smith then came on to retire Franco on a fly ball, ending the threat.

NOTES: The Phillies activated LF Cody Asche (oblique strain) from the disabled list and designated OF David Lough for assignment. Asche, who went 0-for-2 in his season debut on Thursday, hit .159 while splitting 15 rehab assignment games between Class A Clearwater, Double-A Reading and Triple-A Lehigh Valley. ... The Phillies also activated LHP Mario Hollands (elbow surgery) from the DL and assigned him to Lehigh Valley. ... Milwaukee recalled RHP Jacob Barnes from Triple-A Colorado Springs. Barnes, 2-1 with a 1.21 ERA in 17 games in the minors, takes the roster spot previously occupied by RHP Michael Blazek, who was placed on the DL on Wednesday with an elbow impingement.