Cabrera's first grand slam capped a five-run inning off Rodriguez, who failed to get an out.
"That was a great at-bat against a premier closer," Padres manager Bud Black said.
Black was the pitching coach for the Los Angeles Angels during Rodriguez's first four full major league seasons and during his rookie year in 2002 when the Angels won the World Series.
Cabrera struck out his first three at-bats before getting down a sacrifice bunt.
"I definitely felt bad," Cabrera said through first-base coach Rick Renteria, who acted as his translator. "I felt like I was going to get it done."
Cabrera hit a full-count fastball into the right-field seats for his second homer after falling behind 0-2.
"In New York, I faced him and struck out," Cabrera said. "I wasn't going to let him strike me out this time."
The win was San Diego's 11th over the Mets in 14 games overall, including seven straight at home. New York has lost seven of nine overall.
Blanks was ruled safe by umpire Marvin Hudson on the throw to the plate. TV replays seemed to indicate that catcher Brian Schneider took the relay from second baseman Anderson Hernandez and tagged Blanks' hand before he touched home.
"Replays don't lie," Schneider said. "I tried to plead my case, but the play was already over. I was confident I got him."
Said Rodriguez: "A tough one. I don't think he had a good angle. After that, everything fell apart."
Rodriguez, who has five blown saves, walked Henry Blanco and intentionally walked pinch-hitter Oscar Salazar to load the bases. The Mets then moved in center fielder Angel Pagan to become a fifth infielder playing near second base as the entire infield played in, before Cabrera connected.
Rodriguez, who set the major league record with 62 saves with the Angels last season, blew his second consecutive save chance. It's the first time he's blown consecutive saves since he blew three straight in 2004.
Heath Bell (4-1) pitched the ninth for the win.
Cabrera, who has proven to be flashy with his glove, has had a big effect by adding speed to the Padres lineup. A Rule V pick taken from Colorado, Cabrera had never played higher than Class A before this season.
"We all like the fact that he continues to grow," Black said.
San Diego's comeback ruined the best start of the season for Oliver Perez, who carried a shutout into the seventh inning.
The left-hander dominated San Diego through six innings, facing just one batter over the limit. Perez struck out seven and did not walk a batter as the Padres managed just two baserunners. Blanco reached on a one-out double and David Eckstein was hit by a pitch leading off the fourth.
But Perez started the seventh with consecutive walks to Eckstein and Adrian Gonzalez. After a flyout, Chase Headley doubled off the center-field wall to cut the lead to 2-1 and knock Perez from the game.
Reliever Brian Stokes then struck out Blanks and intentionally walked Venable to load the bases. Blanco then topped a ball that traveled about 2 feet in the dirt in front of home plate. Schneider grabbed the ball and easily made the force out at home.
Perez finished allowing one run and two hits in his longest outing of the season.
San Diego threatened again in the eighth inning when it loaded the bases, but Stokes got Headley to ground out to end the threat.
Pagan led off the game with a single and was called out by umpire Randy Marsh as he tried to steal second. But Marsh changed the call when Cabrera dropped the ball as he made the tag, and was charged with an error.
Correia gave up two runs -- both unearned -- and seven hits in his six innings.
Hernandez made his Mets season debut as a defensive replacement in the eighth inning, then walked in the ninth. Anderson was acquired in a trade with Washington on Thursday. ... Perez began his career in the Padres organization, where he pitched in the majors for two seasons. ... The wife of Mets' RHP Mike Pelfrey had the couple's first child on Friday. Pelfrey, who was scheduled to start on Saturday night, will rejoin the team Monday in Arizona for his next start. ... The Padres honored Hall of Famer Rickey Henderson in a pregame ceremony. Henderson set major league records for runs scored and walks during his three seasons (1996-97, 2001), and also collected his 3,000th career hit.