LaRoche had three RBI and Pittsburgh scored five runs in the eighth inning of an 8-5 win on Monday.
Adam LaRoche and Jack Wilson had three hits apiece for the Pirates, who came back from a 5-0 deficit to win for only the second time in six games.
"Late in the game we came up with some big hits with runners on base," Adam LaRoche said. "That's what we've been missing. A lot of these games, we've been getting some opportunities and not taking advantage of them, and we did tonight."
Wilson Valdez had two hits and a career-high three RBI for the Mets, who fell to 22-2 when leading after seven innings. Jeremy Reed added two hits and scored two runs.
The bottom of the eighth had to stir up bad memories of last season for Mets fans, but bullpen implosions have been rare this season. New York entered the game leading the majors with a 2.95 team ERA for its relievers.
"You know what, this wasn't our game plan going in," Andy LaRoche said, "because they've pretty much had a sturdy bullpen all year."
Livan Hernandez pitched 5 2/3 innings, Bobby Parnell worked out of a sixth-inning jam and Pedro Feliciano worked a perfect seventh to help the Mets carry a 5-3 lead into the eighth.
"That's how we're designed, map it out the way we did tonight, to try to get to that point," manager Jerry Manuel said. "And when you get there and it happens like that, it's a little tough to overcome."
Adam LaRoche led off the eighth with a double off Feliciano. After Eric Hinske grounded out, Manuel replaced Feliciano with J.J. Putz (1-4).
The Pirates responded with four consecutive singles up the middle. Andy LaRoche's infield single to second drove in brother Adam. After Jason Jaramillo's hit, Wilson tied with a single to center and pinch-hitter Delwyn Young put Pittsburgh in front 6-5.
"A couple hoppers up the middle," Putz said. "They hit groundballs; they just hit them to the right spot.
"There's not much you can say about that. There's a little bit of bad luck involved."
Shortstop Valdez's error led to another run and Nate McLouth added a sacrifice fly to make it 8-5.
Putz failed to record an out, and was charged with four runs, three earned, and four hits. He gave up two runs and two hits while recording just one out in New York's 3-2 victory over the Florida Marlins on Sunday.
Putz was acquired from Seattle in the offseason to help shore up New York's leaky bullpen. But he's 1-4 with a 4.76 ERA in 28 games this year.
Tom Gorzelanny (3-1) got one out to record the win, and Matt Capps pitched the ninth for his 11th save.
Valdez helped New York get off to a quick start. He tripled in Reed in the second inning and scored on Brian Schneider's single to give the Mets a 2-0 lead. He hit a two-out, two-run double off Ian Snell in the third.
Snell allowed five runs and six hits in six innings. He is 0-4 with a 6.21 ERA in his last eight starts.
"We battled back and won the game," he said. "I don't care if I go 1-20, as long as we get the win, it doesn't matter."
Hernandez, coming off a complete-game effort against the Washington Nationals, allowed three runs and seven hits in 5 2/3 innings for New York.
Four Pirates relievers combined to allow only a walk and a single during the final three innings.
"A great win," manager John Russell said. "The guys battled."
The Pirates won for only the second time this season when trailing after seven. ... RHP Steven Jackson made his major league debut for Pittsburgh after being recalled earlier in the day. He threw a scoreless inning.