Roy Halladay's presence was a bigger obstacle for the Miami Marlins than Ozzie Guillen's absence.

Halladay threw seven sharp innings and the Philadelphia Phillies broke out of their offensive slump, beating the Marlins 7-1 on Wednesday night in Miami's first game without its suspended manager.

Guillen was suspended five games by the Marlins on Tuesday for saying he admired Cuban dictator Fidel Castro. Bench coach Joey Cora filled in for Guillen in the dugout.

It didn't matter against Halladay.

"They played better than we did and they beat us," Cora said.

A once-potent offense that's missing Chase Utley and Ryan Howard struggled in Philadelphia's 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.

"It's only Game 5, we have to forget about it and get ready for tomorrow, but yeah, it's great to get seven runs," Victorino said. "We'll definitely take it, and we just have to keep on doing the little things. Whether it's laying down a bunt, stealing a base, small ball, that's what we're going to have to do. And the thing about it is it works. I can't see us changing that philosophy, even when the big guys come back."

Before the game, the focus was on Guillen. He returned to Miami after the Marlins beat the Phillies on Monday and called his remark the biggest mistake of his life in a news conference in Little Havana. Guillen spoke to the team before the clubhouse opened and players expressed their support afterward.

"It was good to see him here," closer Heath Bell said. "We support him. We're going to try and do our best without him."

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.

"He got the lead and stepped up," Cora said. "The great ones do. He's a great pitcher obviously. After he got the lead, he took over the game."

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 over 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 injury 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.

"It seems things are going the exact opposite of last year," Johnson said. "I felt good, a lot better than the first game. Crazy stuff happens."

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.

"I know he's going to get better," Cora said of Johnson. "We have to have a little leeway with him. He hadn't pitched in seven days. Next outing he's going to be sharper. It's going to take some time for him to be the JJ we know."

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 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.