A once-potent offense that's missing Chase Utley and Ryan Howard struggled in the first four games, scoring eight runs total. But they rocked Marlins ace Josh Johnson, chasing the big right-hander in the fourth.
Carlos Ruiz hit a solo homer and a double. Jimmy Rollins, Hunter Pence and Shane Victorino - the Phillies' 3-4-5 hitters - were 7 for 13 with three RBIs and four runs.
Before the game, the focus was on Guillen. He was suspended five games by the Marlins on Tuesday for saying he admired Cuban dictator Fidel Castro.
Guillen returned to Miami after the Marlins beat the Phillies on Monday and called the remark the biggest mistake of his life in a news conference in Little Havana. He spoke to the team before the clubhouse opened and players expressed their support afterward. Bench coach Joey Cora managed the team in Guillen's absence.
Halladay (2-0) allowed one run and five hits, striking out three. He has the only two wins for the five-time defending NL East champs.
Johnson (0-2) gave up six runs and a career-high 11 hits in 3 2-3 innings. He's allowed 21 hits and nine runs in 9 2-3 innings in two starts. Johnson, the 2010 NL ERA champion, was tied for the major league lead with a 1.64 ERA last year when a shoulder sent him to the disabled list in mid-May.
Coming into this year, Johnson had allowed 10 or more hits just once in 113 starts - at Cincinnati on Aug. 13, 2010. He's now done it in both starts this season.
This was hardly a typical Halladay-Johnson matchup. Halladay tossed a perfect game against the Marlins and Johnson on May 29, 2010. Johnson beat him 2-0 less than two weeks later and 2-1 last May.
Former Marlins leadoff hitter Juan Pierre got things started for Philadelphia with a one-out single in the third. Pierre stole second and scored on Placido Polanco's infield single up the middle. Polanco advanced to second when the ball deflected off Johnson and caromed to shortstop Jose Reyes.
Rollins then ripped an RBI single to left-center to put the Phillies up 2-1. Rollins went to second when left fielder Logan Morrison slipped and booted the ball for an error.
Pence singled to left to drive in Rollins for a 3-1 lead. Victorino followed with a single to right. Victorino stole second to put runners on second and third, but John Mayberry Jr. hit a soft liner to second for the second out. After Ruiz was intentionally walked, Freddy Galvis lined a two-run double to right to make it 5-1.
Galvis, filling in for Utley, was 1 for 14 before that hit. Fans chanted "Freddy! Freddy! Freddy!" when the rookie dug in at the plate and serenaded him with another round of cheers after the clutch hit.
The Phillies chased Johnson with three consecutive two-out singles in the fourth. Rollins, Pence and Victorino got the hits to extend the lead to 6-1.
Halladay threw eight scoreless innings in a 1-0 victory at Pittsburgh in the season opener. He gave up a run in the second against Miami.
Omar Infante led off the inning by ripping a double off the wall in left, nearly hitting his third homer in two games. He went to third on a flyout by John Buck and scored on Johnson's groundout.
NOTES: Phillies general manager Ruben Amaro Jr. said Howard and Utley were making progress, though it's still uncertain when either player will return to the lineup. ... Marlins RF Giancarlo Stanton was back in the lineup in the cleanup spot after missing Monday's game with a knee problem. ... A crowd of 45,359 was the 222nd consecutive sellout at Citizens Bank Park, including postseason play. ... Phillies RHP Joe Blanton (0-1) makes his first start in the series finale on Thursday. Blanton is 6-2 with a 3.33 ERA in nine career starts vs. Florida. LHP Mark Buehrle (0-1) takes the mound for the Marlins. He was 3-0 vs. Philadelphia while with the Chicago White Sox.