PHILADELPHIA — Long counts and long drives helped the Philadelphia Phillies to an easy win.
Maikel Franco and Aaron Altherr each hit a grand slam, Carlos Santana and Jorge Alfaro also went deep and the Phillies routed the Miami Marlins 20-1 Saturday night.
Vince Velasquez (1-1) allowed one run and four hits, striking out six in six innings.
Franco finished with six RBIs after just missing another homer when his two-run double hit high off the left-center field wall. He has driven in 10 runs in the past two games.
Santana's shot to deep right field was his 1,000th career hit.
Manager Gabe Kapler has been impressed with his team's patient approach at the plate. Philadelphia's hitters walked six times and saw 200 pitches.
"We've been grinding out at-bats and great things happened," Kapler said.
Marlins left-hander Dillon Peters (1-1) gave up nine runs and nine hits in 2 2/3 innings. Miami catcher Bryan Holaday tossed a perfect eighth, fanning cleanup hitter Rhys Hoskins on a 62 mph pitch to end the inning and earn smiles from teammates in the dugout.
Franco's homer in the first made it 5-1. Altherr's drive in the third extended the lead to 9-1. He was 1 for 19 this season before putting one in the seats in left.
"I'm seeing the ball really good, feel really comfortable and just trying to get deeper in the count and hit a good pitch," Franco said.
The Phillies had not hit two slams in one game since Ryan Howard and Raul Ibanez connected against Washington on April 27, 2009.
They scored 19 runs combined in the first six games before becoming the first NL team to score 20 in one of its first 10 games of a season since the 1954 Chicago Cubs.
Santana's blast highlighted an eight-run fourth inning off Jacob Turner.
Even Velasquez had two of Philadelphia's 20 hits. The Phillies have won two in a row after dropping four of their first five.
"Man, 20 runs, that's crazy," Velasquez said. "It motivated me to at least get five. My first two innings were tough but I settled down and found my groove."
Miami has lost four in a row.
"It seemed like everything went their way," Marlins manager Don Mattingly said. "It only counts for one (loss)."
Phillies right-hander Jake Thompson was optioned to Triple-A Lehigh Valley after pitching three scoreless innings for his first career save.
Philadelphia's 20 runs were tied for its ninth-most in a game since 1900 and marked the 14th time it has scored 20 or more in that span. The last time the Phillies scored 20 runs was July 6, 2009, when they had 22 against Cincinnati. .... The Phillies scored 17 runs within the first four innings of the game for just the third time in franchise history.
Outfielder Nick Williams had a conversation with Kapler after making critical comments following the home opener Thursday. Williams, who hit .288 with 12 homers and 55 RBIs in 83 games as a rookie, was frustrated after not starting four of the first six games.
"I guess the computers are making the lineup, I don't know," Williams said, referring to Kapler's fondness for analytics.
"He's a terrific athlete," Kapler said. "We want our players to want to play every day."
Williams said his comments were a joke.
Marlins: C J.T. Realmuto is making progress from a bone bruise in his lower back, according to Mattingly. Realmuto is rehabbing in Florida and could return later this month.
Phillies: RHP Pat Neshek said he feels better after receiving a cortisone shot on Friday. Neshek began the season on the DL because of a shoulder injury and expects to return in a month.
RHP Jake Arrieta, the 2015 NL Cy Young Award winner, makes his debut with the Phillies on Sunday after signing a $75 million, three-year deal in free agency. RHP Trevor Richards (0-1, 10.38 ERA) makes his second career start for the Marlins.