PHILADELPHIA — Whether the motivation came from within or from a challenge from his manager, Tommy Joseph certainly has responded.

Joseph homered, doubled and drove in three runs Wednesday night, leading the Philadelphia Phillies over the Chicago White Sox 8-3.

Earlier this month, Joseph was struggling and found himself on the bench. Since then, he's hit .480 in his last seven games.

Joseph's homer off White Sox ace Chris Sale was his 21st of the season, third-best among big league rookies.

Manager Pete Mackanin had stated Joseph needed to be better at the plate. Joseph said a self-assessment is what helped him break out.

"The challenge came from within myself," Joseph said. "When it comes from Pete, it gets out there publicly."

Joseph hit an RBI double in the first inning. He connected for a two-run homer off Sale (16-9) in the third.

"I was just trying to attack strikes," Joseph said. "He's a good enough pitcher where if he gets ahead of you, he's going to make you pay. So that was our collective game plan as a team, to capitalize on his mistake early in the count."

Cameron Rupp, Maikel Franco and Cesar Hernandez all had two-hit games for the Phillies. Hernandez hit his 10th triple of the season, tied for second best in the majors, and has reached base safely in 26 consecutive games.

Philadelphia has won four of five. The White Sox have lost five in a row.

It was the second-shortest outing of the season for Sale, and it snapped his run of six consecutive starts of at least eight innings. In four starts this season against NL teams, Sale is 0-4 with an 8.72 ERA.

Jerad Eickhoff (11-13) pitched seven innings and gave up six hits, including three solo home runs, while striking out six.

Eickhoff was relieved to get some offence from his teammates as he entered the game with the third-worst run support in the NL.

"To get that run support is huge off a guy like Sale," Eickhoff said. "It's just awesome. These guys are battling, fighting their way through each at-bat. We just found ways to put runners on base and get guys home."

Adam Eaton led off the game with a home run Todd Frazier hit his 38th in the seventh and Alex Avila followed with a drive in the seventh.

Phillies outfielder Tyler Goeddel had to leave the game in the sixth after being hit in the head by reliever Chris Beck.

Goeddel was the fourth Philadelphia player to be hit in the game, tying a franchise record that last occurred in 1960. Sale hit three batters.

"Everyone is entitled to have a bad night and tonight was mine, unfortunately. It would have been nice to sneak out of here with a win but I was just awful tonight," Sale said.

ODDITY

Eickhoff has allowed seven home runs in his last two starts, but only six earned runs. Six of the seven homers have been solo shots. The seventh was a three-run homer, but all three runs were unearned because of an earlier error. Eickhoff has given up 29 homers this season, tying Brandon Finnegan of Cincinnati for the most in the NL.

THIS AND THAT

Eaton's homer led off the game. It was the fifth time he's done that this season and ninth time in his career. ... Phillies OF Roman Quinn reached base four times without a hit (two walks, twice hit by a pitch).

UP NEXT

White Sox: RHP Miguel Gonzalez (4-7, 3.83) faces Indians RHP Trevor Bauer (11-8, 4.24) in the opener of a three-game series in Cleveland on Friday night.

Phillies: LHP Adam Morgan (2-10, 5.49) take on Mets RHP Seth Lugo (4-2, 2.35) in the opener of a four-game series in New York on Thursday night.