NEW YORK -- What started out as a painful day for Donovan Solano turned into one of his best on a ballfield.
Solano got some payback after he was hit by two pitches, launching a home run and making two terrific defensive plays that sent Henderson Alvarez and the Miami Marlins past the New York Mets 3-0 in the opener of a doubleheader Saturday.
"Long days with doubleheaders, you need somebody to step up and be the hero. And today Alvarez and Solano gave us a big lift," Marlins manager Mike Redmond said.
Logan Morrison drove in two runs, one on a line drive off Frank Francisco's right hand that knocked the oft-injured reliever out of the game. Alvarez (4-4) pitched four-hit ball over seven innings for his second win against the Mets this year.
New York dropped to 3-10 in September and 6-11 this season against the Marlins, who have the NL's worst record at 55-92. The defeat ensured the Mets' fifth straight losing season since Citi Field opened.
Alvarez, who beat New York 3-2 on July 31, struck out five and walked none to help the Marlins win for the 12th time in 40 games.
"Exactly what we needed, especially a doubleheader, knowing going in it's going to be a long day," Redmond said. "It's nice to get the solid pitching performance from Alvarez. He looked great."
Carlos Torres (3-5) hit Solano with pitches in his first two plate appearances, the first one near his wrist and the next time on the left shoulder. Solano looked pretty irritated by the second one, but catcher Travis d'Arnaud and plate umpire Tim Welke quickly stepped in front of him and there was no trouble.
"Part of the game," Solano said.
He did ask d'Arnaud why Torres hit him again and was told, "He's human."
"I walked down there and said, 'My bad, man. I didn't mean to hit you.' I don't know how I hit him twice," Torres said.
Solano exacted the best sort of revenge with a leadoff homer against Torres in the sixth to make it 2-0. The second baseman also robbed Omar Quintanilla twice, making a diving play to thwart a fifth-inning rally and a sliding stop to save a run in the seventh.
Asked about his mindset the third time up, Solano said: "I don't want to get hit by a pitch. But I put a good swing on it."
The traditional doubleheader was scheduled to make up a June 7 rainout. With both teams fading at the bottom of the NL East, it promised to be a long day for both players and the hearty fans who showed up on a pleasant late afternoon.
Alvarez forgot how many outs there were in the second, when he tossed casually to first on a one-out comebacker with runners at first and second.
"I know that stuff does happen, but we've got to know how many outs there are," Redmond said.
Torres plunked Solano to start the fourth and then walked Christian Yelich. With two outs, Morrison fisted a bloop single into shallow left-center for Miami's first hit and a 1-0 lead.
Yelich doubled and stole third in the eighth before Morrison hit a line drive that struck Francisco near his right thumb. Yelich scored as Morrison was tagged out by first baseman Lucas Duda.
Francisco immediately left the game in obvious pain and was sent for X-rays. The team said he had a bruised hand. The right-hander had been out all season following elbow surgery until he was activated last weekend.
"It swelled up even when I was out there," Mets manager Terry Collins said. "It swelled up pretty fast and pretty big."
Torres struck out a career-high eight in six innings and gave up only three hits. Still, he lost his third consecutive start.
NOTES: Mets reliever Jeurys Familia was activated from the DL. ... Alvarez has allowed a major league-low one home run in 14 starts this season. ... Marlins RHP Nathan Eovaldi played catch and will throw a bullpen Sunday, Redmond said. If all goes well, Eovaldi could start Wednesday night in Philadelphia. He was scratched Thursday against Atlanta with a stiff back. ... Redmond confirmed that RHP Sam Dyson will start Monday night against the Phillies. ... C Jeff Mathis (bruised right thumb) played catch and took some swings. He could be available in Philadelphia, Redmond said.