MIAMI -- Matt Harvey is an All-Star against everyone, it seems, except the Miami Marlins.
Matching up against Harvey, three Miami Marlins pitchers combined to blank the New York Mets 3-0 on Thursday afternoon at Marlins Park.
"For whatever reason, we really lock it in against (Harvey)," Miami manager Mike Redmond said. "We've just been able to kind of rise to the occasion and grind out a ton of at-bats and make him throw a lot of pitches."
Marlins starter Tom Koehler (six innings) and relievers A.J. Ramos (two innings) and Steve Cishek (one inning, 23rd save) held the Mets to five hits. Two double plays aided the defensive effort.
Asked about New York's offense, Mets manager Terry Collins -- clearly frustrated -- jumped in before the question had been fully formed.
"Ten guys left on? Yeah, we had opportunities," he said. "We are just not driving runs in.
"There's no secret. If we knew what it was, we'd fix it. Guys aren't driving in runs. There's nothing wrong with the approach. We're just not getting good swings at the pitches we can hit, and we're fouling them off. Therefore, we're not driving them in."
Harvey (8-3) has faced the Marlins four times this season and is 0-1 with three no-decisions.
Of his 22 starts this season, the only times he has failed to make it through at least six innings were the three games at Marlins Park, which is odd considering Miami is last in the major leagues in runs scored and last in the National League in winning percentage.
"I try to take every start the same," Harvey said when asked about the Marlins' good fortune against him. "My job is to put up zeroes regardless of what else is going on.
"I only have one concentration, and that's my job at hand. I'm going to say that until I'm blue in the face. My job is to put up zeros, and obviously I didn't do that today. I'm not happy about it."
Harvey had allowed just one hit -- a single by Koehler -- and no walks through five innings. But the Marlins scored three runs off of him in the sixth.
Three straight singles -- by pinch-hitter Juan Pierre, Christian Yelich and Logan Morrison -- produced the first run. Donovan Solano capped the inning with a two-run single on a nine-pitch at-bat that included six foul balls.
In 5 2/3 innings, Harvey struck out eight and walked none. But he also allowed five hits and the three runs.
Lost in Harvey's shadow was Koehler. He wasn't very efficient -- five hits, five walks and 115 pitches -- but he worked out of jams, especially against Ike Davis.
The Mets first baseman stranded two runners in the first inning (strikeout) and three in the third (foul out). Juan Lagares hit a one-out triple in the fourth but was stranded when Omar Quiintanila lined out and Harvey hit a fly out.
"From the first inning on, none of those zeros came easily," Koehler said. "It was a battle right off the start. The defense played great behind me and made some really big plays."
That was certainly the case in the fifth inning. With two runners on, Marlins' center fielder Jake Marisnick came in to make a diving catch on a Marlon Byrd line drive and then doubled David Wright off at first base.
"I was able to get a good jump on it," Marisnick said. "I saw it all the way into the glove."
NOTES: The Mets and Marlins split their four-game series. For the season, the Marlins lead the series 10-5. ... Wright, who tweaked a hamstring while stealing second base on Wednesday night, started Thursday. The Mets also rested 2B Daniel Murphy, starting Justin Turner in his place. Murphy was used as a pinch hitter, striking out in the ninth inning. ...Marlins pitchers just posted the lowest July ERA in club history (3.24). The Marlins also allowed only 11 homers, the second lowest of any month in club history, trailing only the eight given up in September 1996. ... Mets catching prospect Travis d'Arnauld was moved up to Double-A on Wednesday as he continues to rehab a broken left foot. ... Thursday's attendance was 25,916. ... Up next, the Mets return home for a three-game series against the Kansas City Royals. ... The Marlins play host to the Cleveland Indians for three games. Marlins All-Star Jose Fernandez, who turned 21 on Wednesday, starts Friday.