"You don't want to beat yourself with big runs," Halladay said. "Two-run homers cost you. You're always trying to minimize. Guys get on base and you feel like you can get out of it. We obviously expected to do well, but like I said, two pitches. You don't get away with mistakes. It's going to cost you."
Byrd became the first Cubs player in 105 years to be hit by a pitch at least 16 times in a season and Chicago took advantage, winning three of four in its first series since the All-Star break.
Halladay had tossed 18 consecutive scoreless innings before Chicago's four-run second, which began with Byrd getting nailed. Soto connected with one out and the Cubs added two more.
A similar scenario played out in the sixth, only this time it was Soriano hitting a drive to left after Byrd got hit in the back by a breaking ball. Soriano's 17th homer made it 6-2.
"That's what we have to do -- be very aggressive against a good pitcher because we have a good lineup," Soriano said.
Tom Gorzelanny (5-5) allowed three runs, two earned, and five hits in 6 2/3 innings. The left-hander walked five and struck out five while improving to 3-0 with a 3.06 ERA in his last three starts.
Gorzelanny got a nice ovation when he was replaced by Andrew Cashner after Ryan Howard's sacrifice fly got the Phillies within three. Jayson Werth walked but Cashner got Ben Francisco to ground out with runners on first and third to end the inning.
Tyler Colvin and Starlin Castro each had three singles from the top two spots in the order for the Cubs, who scored in double digits for the second time in four games while rebounding from Saturday's tough 4-1 loss.
Halladay (10-8) allowed six runs, five earned, and seven hits in six innings. He had pitched nine innings in each of his previous two starts.
The All-Star right-hander did not walk a batter but hurt himself each time he plunked Byrd, who also was hit two times on Thursday.
Soto pumped his right fist as his 11th homer cleared the wall in right in the second -- a sharp contrast from Saturday, when he couldn't hang onto Colvin's throw from left and allowed Brian Schneider to score the tying run in a four-run ninth.
The Cubs added to their lead, getting two-out singles from Gorzelanny, Colvin and Castro to drive in another run. Colvin then scored on catcher Carlos Ruiz's throwing error attempting to stop Castro from stealing second, making it 4-0.
The Phillies got two in the fifth, but Soriano's shot after Byrd was hit again put the Cubs back in control.
"You're going to have to talk to [David] Eckstein and [Craig] Biggio," he said, when asked if there's a science to getting plunked.
Eckstein is at 140 for his career, and Biggio got hit 150 times over 20 seasons. While Byrd is at just 60 overall, he is getting hit at a rate this franchise hasn't seen since Frank Chance (17) in 1905. Only four Cubs have been hit 16 or more times in a season.
"I go in there enough and he's not going to move so that's going to happen sometimes," Halladay said. "The two pitches, one to Soto, I left a cutter up, and to Soriano I just didn't get it in enough."
Dobbs' solo drive off Cashner in the eighth was his seventh career pinch-hit homer. ... Carlos Zambrano could rejoin the Cubs by the end of the month after undergoing anger management counseling following his dugout confrontation with Derrek Lee. Manager Lou Piniella says the right-hander likely will throw a simulated game on Monday at the team's training complex in Mesa, Ariz., and pitch for Triple-A Iowa later this week. Piniella says Zambrano could rejoin the Cubs during their six-game road trip that starts July 26.