Braxton Garrett allowed three hits over five innings to win his major league debut, and the Miami Marlins beat the Phillies 8-1 to complete a doubleheader sweep and leapfrog Philadelphia for second place in the NL East.
Rookie Sixto Sanchez pitched a three-hitter over seven innings to win the opener 2-1, his first complete game in five major league starts.
Garrett, a 23-year-old left-hander, was recalled as Miami's 29th man. Garrett (1-0) allowed one run, struck out six and walked two, giving up a second-inning homer to Alex Bohm, who is 10 for 20 in the series.
"It was unbelievable from the moment I found out 'til now," Garrett said. "It's been incredible the whole ride. It's really hard to explain."
Miami (23-21) has won four of the first six-games against the Phillies (23-22) in the major leagues' first seven-game, regular-season series since 1967. The teams play again Monday.
Zach Eflin (2-2) allowed four runs, eight hits and two walks in four-plus innings for the Phillies, who have lost five of seven.
"It's frustrating for all of us," Philadelphia manager Joe Girardi said. "We just didn't hit much today for whatever reason."
In the opener, Sixto Sanchez faced the organization that traded him along with catcher Jorge Alfaro for J.T. Realmuto before the 2019 season. Realmuto sat out the doubleheader after getting banged up Saturday.
"It motivated me a lot that I was facing the Phillies," Sanchez said in Spanish. "I held my head high, knowing I could beat the Phillies. Thank God we were able to win."
Realmuto felt hip discomfort running out a ground ball Saturday. First baseman Rhys Hoskins did not play after favoring his left arm following a collision with Dickerson', who was attempting to beat out a grounder.
Hoskins had an X-ray on his left forearm and the results were negative, Girardi said. Realmuto and Hoskins will probably have MRIs to better define the severity of their injuries.
Miami shortstop Miguel Rojas did not play the first game after jamming his right middle finger when he tripped while running to his position before Saturday's game but went 2 for 3 with a sixth-inning, two-run double in game two.
"Huge day for us as a team and as an organization," Rojas said.
"I went after him and was able to locate the pitches correctly and get him," Sanchez said of Harper.
Rookie Ramon Rosso (0-1) made his first big league start after five relief appearances and allowed two runs, two hits and three walks in 2 1/3 innings. Rosso was added to the Phillies' active roster as the 29th man.
Andrew Knapp hit a sacrifice fly in the second, but the Marlins went ahead on RBI singles by Corey Dickerson and Starling Marte. Connor Brogdon relieved Rosso with the bases loaded and struck out Garrett Cooper and Isan Diaz. Brogdon recalled from the alternate training site Sunday, retired all seven batters he faced, striking out four.
Despite 29-9 and 11-0 losses during a three-day span, the Marlins strengthened their postseason positioning.
"It's the personality of this group," Miami manager Don Mattingly said. "They just show character, through COVID, having to sit out all those days, missed all those games. The group has been very steady as far as get ready to play."
Marlins: INF Eddy Alvarez, a 2014 Olympic silver medalist in speed skating who earned a promotion to the major league roster in the wake of the club's coronavirus outbreak the first week of the season, was designated for assignment .. LHP Dan Castano was optioned to the alternate training site, and Miami selected the contract of Garrett.
Phillies: RHP Spencer Howard (shoulder stiffness) was placed on the 10-day IL. Howard started Saturday and was removed after pitching 3 2/3 innings.
Marlins: RHP Brandon Leibrandt (left elbow nerve inflammation) was transferred to the 45-day IL.