Ike Davis and Lucas Duda each hit two home runs, providing an ample cushion for Harvey and the Mets to end their three-game skid.
Harvey (4-0) gave up one run and four hits in seven innings, striking out seven.
Davis and Duda hit solo home runs in the sixth — the first time Strasburg (1-3) ever had been tagged twice in an inning.
Davis added a two-run homer in the eighth and Duda hit a solo drive off Drew Storen.
Strasburg allowed four runs, two unearned, and five hits in six innings. He fanned six.
BREWERS 5, CUBS 4
MILWAUKEE (AP) — Ryan Braun hit a three-run homer, and Jean Segura produced some bizarre baserunning in the Brewers' win over the Cubs.
Segura somehow wound up safe at first base after attempting to steal third, only to later be thrown out attempting to steal second base again.
Segura led off the eighth inning with a single and stole second before Braun walked. The two attempted a double steal, but Shawn Camp didn't deliver a pitch. Instead, he threw to third well ahead of Segura, who turned and went back to second. Braun was there, and shortstop Luis Valbuena tagged both runners as they stood on the bag.
The rules say only the trailing runner is out in that case, but Segura trotted back toward first base and the home dugout, then appeared to realize what had happened and sped into the unoccupied base.
He later attempted a straight steal of second, but Cubs catcher Welington Castillo threw him out.
It didn't matter, though, because Braun went deep against Jeff Samardzija (1-3) and Anthony Rizzo hit his fifth homer of the year for the Cubs, who never trailed.
Milwaukee starter Marco Estrada (2-0) pitched out of trouble in his six innings.
PIRATES 6, BRAVES 0
PITTSBURGH (AP) — Wandy Rodriguez faced the minimum while throwing seven innings of one-hit ball to outpitch Tim Hudson and help the Pirates beat the Braves.
Hudson came up short in his first attempt at win No. 200.
Pedro Alvarez homered for the second consecutive game and Russell Martin, Neil Walker and Travis Snider each reached base three times for Pittsburgh, which has won seven of its past 10 after a 1-5 start.
Rodriguez (2-0) allowed only Jason Heyward's one-out single in the fourth. Justin Upton followed by grounding into a double play.
Hudson (2-1) fell to 199-105 in his 15-year career.
PHILLIES 8, CARDINALS 2, 7 INNINGS
PHILADELPHIA (AP) — Roy Halladay tossed a two-hitter over seven innings and the Phillies beat the Cardinals in a rain-shortened game to snap a four-game losing streak.
Halladay (2-2) allowed two runs, walked two and struck out six to record a complete game. He's had consecutive strong outings after starting the season with two poor ones.
Jimmy Rollins, Ben Revere, Humberto Quintero and John Mayberry Jr. each had two hits for the Phillies, who busted out of their slump with five runs off Jaime Garcia (1-1) in the first inning.
Carlos Beltran and Matt Holliday hit solo homers for the Cardinals.
Garcia allowed eight runs — four earned — and nine hits in three innings.
MARLINS 2, REDS 1
CINCINNATI (AP) — Justin Ruggiano hit a solo homer off Aroldis Chapman in the ninth inning sending the Marlins to a victory that snapped the Reds' winning streak at four games.
It was a stunning moment for the Marlins, who have the worst record in the majors at 4-13 and had only four homers — fewest in the majors — when Ruggiano connected off the Reds' spotless closer for his second homer in two games.
Chapman (2-1) hadn't allowed a run in his eight previous appearances.
Left-hander Mike Dunn (1-0) retired the last two batters in the eighth. Steve Cishek gave up a hit in the ninth while earning the Marlins' first save of the season.
ROCKIES 3, DIAMONDBACKS 1
DENVER (AP) — Jhoulys Chacin pitched effectively into the seventh inning and became the first Rockies starter to throw 100 pitches in a game since June before leaving with left oblique tightness, and Colorado beat the Diamondbacks.
Troy Tulowitzki hit a two-run homer and Chacin helped himself by driving in a run with a sacrifice fly as the Rockies won their seventh in row and remained unbeaten in seven home games this season.
Chacin (3-0) was seen grabbing his lower left back after throwing his fourth pitch to Arizona's Cody Ross with one out in the seventh inning.
The last time a Colorado starter reached the century mark in pitches was June 12, a stretch of 117 games. It was the longest string in the majors since records started being kept by STATS in 1988. Before the Rockies' streak, the longest string of starters not throwing 100 pitches in a game was held by Washington, which went 33 games from Aug. 31, 2011, to April 10, 2012.
GIANTS 3, PADRES 2
SAN FRANCISCO (AP) — Angel Pagan lined a game-ending double to right field with one out in the ninth inning, and the Giants returned from a rough road trip to beat the Padres.
Santiago Casilla (2-1) struck out two in a 1-2-3 ninth for the win. Shortstop Brandon Crawford made a great pickup on Jesus Guzman's grounder for the second out.
Luke Gregerson (1-2) gave up Gregor Blanco's leadoff bloop single to shallow left to start the rally, then pinch-hitter Andres Torres reached on a fielder's choice and stole second before coming home on Pagan's hit.
Chase Headley hit a tying, two-out homer in the sixth just over leaping left fielder Blanco.