PHILADELPHIA -- The Phillies struck early and often on Saturday, unleashing a four-home run attack that included two grand slams. When the long ball barrage subsided, and the Phillies claimed a 20-1 victory at Citizens Bank Park, Marlins manager Don Mattingly had little trouble putting the night into perspective.

"It was one of those games," Mattingly said. "I've been in these games before, and you're glad they only count for one. It's going to happen to you two or three times a year."

The Marlins have now dropped four straight, and Saturday got out of hand early. Maikel Franco and Aaron Altherr each hit grand slams off Dillon Peters , the first Marlins pitcher to ever surrender two with the bases loaded in the same game. Carlos Santana and Jorge Alfaro also added home runs, and Miami endured its most lopsided loss in franchise history.

Losing by 19 runs breaks the previous margin of defeat by the Marlins, who lost 18-0 to the Braves in 1999.

Peters worked 2 2/3 innings, and was tagged for nine runs. Jacob Turner struggled in his one inning, allowing eight runs. In the eighth inning, the Marlins saved their bullpen by having backup catcher John Holaday pitch.

"No matter how many runs I give up, I need to save the bullpen, and keep as many arms off the field as possible," Peters said. "It was kind of a bad day at the park, all around."

The Marlins have allowed as many as 20 runs five times in their history, but not since June 27, 2003, at Boston, when they allowed 25 to the Red Sox.

Peters actually had several situations where he was ahead in the count, yet was hurt by big hits. Altherr's grand slam in the third was on a 1-2 pitch.

"I've just got to do a better job of putting them away when I'm ahead like that," Peters said. "From a stuff standpoint, I felt fine out there."

MOMENTS THAT MATTERED

Saving the 'pen: Holaday retired the side in order on eight pitches, six of which were strikes. He fanned Rhys Hoskins to end the inning. It's not the first time Holaday has pitched, having previously done so while with the Rangers on July 2, 2016, at Minnesota, having thrown 1 1/3 scoreless innings.

"That's my palm ball," Holaday said of his fluttered 62 mph pitch that read as a curveball. "That's my go-to."

Slammed twice: Peters, making his eighth big league start, did something never previously done by a Marlins pitcher -- allowed two grand slams in the same outing. Just once before had the club had two grand slams against it in the same game. It came on May 21, 2000, in a 12-3 loss to the Dodgers. Jesus Sanchez allowed a grand slam to Shawn Green, and Antonio Alfonseca yielded a slam to Adrian Beltre .

QUOTABLE

"It's going to be a long five days, to get back out there and go back to work." -- Peters

SOUND SMART WITH YOUR FRIENDS

Starlin Castro had one of the five Marlins hits, and he has hit safely in all eight games this season. That matches Alejandro De Aza in 2007 for the longest such streak to start a career with the Marlins.

The infield single Braxton Lee had in the ninth inning was his first MLB hit.

WHAT'S NEXT

Rookie Trevor Richards closes out the three-game series with the Phillies at 1:35 p.m. ET on Sunday at Citizens Bank Park. The 24-year-old will be making his second MLB start, and first on the road. Ranked as Miami's No. 22 prospect by MLB Pipeline, Richards gave up five runs in 4 1/3 innings in a loss to the Red Sox in his first start.

Watch every out-of-market regular-season game live on MLB.TV.

Joe Frisaro has covered the Marlins for MLB.com since 2002. Follow him on Twitter @JoeFrisaro and listen to his podcast.