Wright homered, drove in two runs and made a pair of marvelous defensive plays at third base. Ruben Gotay hit an RBI double in the first inning, and New York's relievers bounced back from a rough series against San Diego.
"Today was a great day for us. We did everything right," Carlos Beltran said.
Perez (12-8) tossed seven shutout innings, allowing three hits and overcoming five walks to match his career high for wins. He escaped a bases-loaded jam in the first, struck out six and threw 119 pitches in winning his second consecutive start.
That was enough to beat Penny (14-4), who lasted six innings against a familiar nemesis. The big right-hander fell to 5-11 against the Mets in his career and 1-9 in 11 starts at Shea Stadium. He did beat New York twice at home earlier this year, going 2-0 with a 2.70 ERA in those two starts.
"I gave up that first run and that was a problem right from the start. I put us behind," Penny said. "I didn't have the command I usually have."
The Mets extended a team record by scoring at least five runs for the 12th straight game, the longest such streak in the majors since Texas also had a 12-game run in 2005, according to the Elias Sports Bureau.
Handed a four-run lead in the ninth, Billy Wagner gave up three singles to load the bases with one out before pitching coach Rick Peterson came out for a visit. Jeff Kent hit a sacrifice fly, and Wagner struck out Andre Ethier with runners at the corners to end it.
"It was good to get Billy back out there on the horse. He looked good," Wright said.
The star closer blew a save in Thursday night's loss to the Padres -- after giving up the go-ahead run in the ninth inning Tuesday night before the Mets rallied to win.
"We don't sit there and worry about what the critics say," Wagner said.
Jose Reyes scored twice and got his major league-leading 69th stolen base for the Mets, who had just lost two of three to San Diego in a potential playoff preview
The Dodgers, swept by New York in the first round of last year's postseason, failed to come through with runners on base all night. They managed one run in the eighth, but couldn't put together the big rally they needed.
Ethier's high-fly double to deep left-center off Jorge Sosa put runners at second and third with one out. Russell Martin walked to load the bases, and left-hander Pedro Feliciano relieved for New York.
Hillenbrand flipped his bat away in frustration and fired his helmet to the ground. Los Angeles stranded 12 runners and lost for the third time in nine games.
"That game for us was summed up in the first inning," Dodgers manager Grady Little said. "We let him off the hook. We had bases loaded and came up with no runs. That got him going."
Reyes opened the third with a double and scored on Wright's single. In the fifth, Wright sliced a 3-2 pitch from Penny barely over the wall in the right-field corner. His 23rd home run gave New York a 3-0 cushion.
Wright is 9-for-14 (.643) with two homers and six RBI against Penny in his career.
The third baseman also made two excellent fielding plays in the sixth.
First, Ethier hit a chopper that deflected off Perez's glove toward Wright, who rushed in and reached behind him to grab the ball in his bare hand. In one motion, he made an athletic, off-balance throw to first.
Wright then robbed James Loney of a hit with a diving stop to his left for the third out.
- Perez also won 12 games for Pittsburgh in 2004.
- The Mets are a major league-best 28-14 in series openers.
- New York C Mike DiFelice had three hits.
- Gotay started at 2B for Luis Castillo, who tweaked his tender right knee Thursday night and doesn't expect to play all weekend.
- Dodgers RHP Brett Tomko was designated for assignment to make room on the roster for LHP David Wells.