"He's got good stuff. Right now he's one of the best pitchers in baseball and so I think the whole team feels good because he lost today," Solano said.
Harvey (8-3) allowed three runs and five hits in 5 2/3 innings. He struck out eight.
"He deserves a better fate than what he has had," Mets manager Terry Collins said. "He has pitched great. We just don't score many runs."
Looking for more information on the Mets? ESPNNewYork.com has you covered. Blog
Harvey's three shortest outings this season have come at Marlins Park. He is 0-1 with a 3.52 ERA in four starts against the Marlins this season while going 8-2 with a 1.97 ERA against the rest of the majors.
"It's not like I take this start or this team any different than against any other team," Harvey said. "It's just been that team this year that happens to squeeze out some runs."
The Marlins are the lowest-scoring team in the majors and have the worst record in the NL.
"I don't know that I can explain it," Marlins manager Mike Redmond said. "For whatever reason we really lock it in against him and we've just been able to kind of rise to the occasion."
Koehler (3-6) gave up five hits, walked five and struck out five.
It was the first time the Mets had been shut out since May 25 against Atlanta.
New York went 0 for 7 with runners in scoring position. They left a runner in scoring position in five of the first six innings and stranded 11 overall.
"There's no secret," Collins said. "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 not getting good swings at the pitches we can hit and we're fouling them off. Therefore we're not driving them in."
Ike Davis popped out with the bases loaded to end the third. Juan Lagares tripled with one out in the fourth, but the Mets could not drive him in, and Jake Marisnick made a diving catch in center field and threw to first to double up David Wright to end the fifth.
"That play Jake made in center field is a game-changer," Koehler said. "That ball falls and get by him we're talking two runs there and another guy in scoring position. That play right there really changed the game."
Meanwhile, the Marlins managed just one hit through five innings, a single by Koehler in the third after Harvey struck out four in a row.
"Things were fine until the sixth inning," Harvey said.
Juan Pierre pinch-hit for Koehler and singled to lead off the sixth, making him 7 for 15 lifetime against Harvey. Christian Yelich followed with a single that put runners at the corners with no outs.
Harvey retired the next two batters, but Morrison singled for a 1-0 lead. After Harvey hit Ed Lucas with a pitch to load the bases, Solano singled to chase Harvey.
Harvey is 0-1 with a 4.50 ERA in three starts at Marlins Park. ... Since June 16, Miami starting pitchers have allowed three of fewer runs in 35 of 40 games. ... Marlins rookie RHP Jose Fernandez (7-5, 2.71 ERA), who is coming off a 13-strikeout performance against the Pirates, will take the mound on Friday against Cleveland RHP Ubaldo Jimenez (8-5, 4.17) to wrap up the final series in a 10-game homestand. The Mets will travel to Kansas City and start RHP Dillon Gee (7-8, 4.13) on Friday against RHP Wade Davis (5-9, 5.50).
Copyright by STATS LLC and The Associated Press
MIAMI, FL - AUGUST 01: Pitcher Matt Harvey #33 of the New York Mets throws against the Miami Marlins in the first...
25,916 (69.3% full) - % is based on regular season capacity
Home Plate - Rob Drake, First Base - Andy Fletcher, Second Base - Joe West, Third Base - Adam Hamari
The Mets have now lost all four of Matt Harvey's starts against the Marlins this season. Harvey hasn't pitched markedly worse, but the Marlins have gotten hits to fall in at a very high rate against him.