MIAMI — The Miami Marlins didn't reach base until the sixth inning. They lost two runners in one ugly sequence trailing by a run. They cursed their luck when Cameron Maybin's drive into the outfield stands in the 10th went barely foul.
And still they won. Again.
Pinch-hitter Yadiel Rivera improved his .100 batting average with a one-out RBI single in the 10th to help the Marlins win their fourth game in a row and their third consecutive series by beating Philadelphia 2-1 on Tuesday night.
"We hung in there and gave ourselves a shot," manager Don Mattingly said.
Projected by some to be baseball's worst team this year, the young Marlins have won six of seven after a 5-17 start.
"It's nice to come into the clubhouse after wins," said Justin Bour, whose pinch-hit homer tied the game in the sixth.
Rivera was 2 for 20 this season before his hit. The RBI was his first since 2016.
"It's the best feeling," said Rivera, who turns 26 on Wednesday. "My birthday is tomorrow. It's a pretty good gift to myself."
The Phillies lost their fourth consecutive game and fell to 4-1 in extra innings. They also lost shortstop Scott Kingery, who came out of the game after he was hit on the right arm by a 97-mph fastball from Tayron Guerrero.
Kingery didn't undergo X-rays, but said his arm was stiff and swollen.
"Thankfully it missed pretty much all the important stuff," he said. "It didn't feel good, obviously, but it should be all right."
With the score 1-all, Maybin was unable to steer his long one-out drive in the 10th, and it sailed a few feet outside the foul pole.
"I was talking, but it wasn't listening," Maybin said.
He shook off the setback and settled for a triple against Yacksel Rios (3-1). After Miguel Rojas was intentionally walked, Rivera lined a 1-1 pitch for the game-winner.
Junichi Tazawa (1-1) loaded the bases in the 10th, but escaped when Maikel Franco lined out to end the threat. The Phillies went 1 for 10 with runners in scoring position.
"We hit a lot of balls on the screws," manager Gabe Kapler said. "We hit it where guys were standing."
Philadelphia's Zach Eflin and Miami's Jarlin Garcia each allowed one run in six innings. Eflin, making his season debut, retired the first 15 batters but lost the lead on Bour's homer.
Bour has been held out of the starting lineup the past four games because of back spasms. The pinch-hit homer was his second this year and fourth of his career.
Just before the homer, the Marlins had a runner thrown out at third on a bunt attempt, and Eflin then picked Lewis Brinson off first.
Philadelphia's Odubel Herrera singled in the fourth to reach base safely for the 31st consecutive game, the longest active streak in the majors.
Opposing batters were 0 for 19 with runners in scoring position against Garcia this season before Rhys Hoskins hit a two-out, 3-2 pitch for an RBI double and a 1-0 lead in the fifth. Garcia's ERA in four career starts, all this year, rose to 0.78.
"I'm going to give up a run here and there," he said with a grin.
Eflin was perfect until Rojas reached on a scratch double to start the sixth. The Phillies right-hander was called up from Triple-A Lehigh Valley to make the start in place of right-hander Ben Lively, who is on the disabled list because of a strained lower back.
"Zach did a tremendous job for us," Kapler said. "He attacked the strike zone. The ball was coming out really good. He did a good job keeping the opposing hitters off balance."
Phillies: RHP Jerad Eickhoff (strained right lat) threw a 20-pitch bullpen session.
Marlins opening day starter Jose Urena (0-4, 4.91) tries for his first victory of the year against RHP Aaron Nola (3-1, 2.58) in the series finale Wednesday.