NEW YORK -- Go right ahead, R.A. Dickey says. Take a hefty swing and try to hit that floating knuckleball out of cavernous Citi Field.
"This is a good park to pitch in, I know that. It's just a comfortable place to pitch," Dickey said. "You can kind of challenge guys."
After the Mets fought back from a three-run deficit, Francisco Rodriguez retired slugger Hanley Ramirez with runners at second and third for his 11th save in 14 chances. Ramirez hit a chopper up the third base line and David Wright bounced an off-balance throw to first that easily beat Ramirez for the final out.
"Those situations, you live for it," Rodriguez said. "I've just got to be a little more aggressive in trying to get that final out as quick as possible."
Elmer Dessens, emerging as a surprise setup man, retired Ramirez on a foulout to end the seventh with runners at the corners.
Dessens also pitched a hitless eighth.
"We got a lot of opportunities," Ramirez said.
Ruben Tejada provided an immediate offensive spark after coming up from the minors and Dickey delivered two hits and an RBI, pushing the Mets to 20-9 at home with six consecutive victories.
New York, 8-18 on the road, has won 16 of 20 at spacious Citi Field, which opened last year. Mets opponents have gone seven consecutive games without a home run here.
"The way we play right now, we just feel so confident to win at home. I don't know what it is," Jeff Francoeur said.
Jason Bay had an RBI double and Francoeur hit a tying single to help the Mets rally against Anibal Sanchez (5-3), who had won four starts in a row.
"I didn't do anything different," Sanchez said. "I can't win every game."
Chris Coghlan (three hits) had his fifth straight multihit game for the Marlins, who opened a tough nine-game road trip that also takes them to Philadelphia and Tampa Bay.
Florida had won six consecutive meetings with the Mets after losing to Johan Santana on opening day in New York, a streak that included a four-game sweep May 13-16 in Miami.
Making his fourth start since coming up from the minors, Dickey (3-0) yielded three runs and seven hits in 6 1/3 innings. The 35-year-old knuckleballer was coming off wins over Philadelphia and Milwaukee. His two hits were a career high.
"Sometimes I think with knuckleballers you just get in a groove," Francoeur said. "He's making some good hitters look bad up there. ... He's been a big pickup for us."
Sanchez beat the Mets 7-2 on May 14 and had gone eight straight outings without giving up more than two earned runs. He was 5-1 with a 1.97 ERA during that stretch.
The right-hander yielded four runs and nine hits over 5 2/3 innings in this one.
Wright drew a one-out walk from Sanchez in the sixth and went to third on Rod Barajas' double off the left-field wall. Francoeur lined the next pitch to left for a tying single, extending his recent resurgence at the plate following a prolonged slump.
Tejada hit a fielder's choice grounder into the shortstop hole and crossed first without a relay throw. His first major league RBI gave New York a 4-3 lead.
"He played well tonight. It was fun to watch," Francoeur said. "He's not overmatched out there."
Wright made a diving play on Brett Hayes' sharp grounder to open the seventh.
New York was trailing 3-0 when Tejada opened the third with a double for his second career hit. With the infield creeping in to defend a bunt, Dickey pulled the bat back and hit a butcher-boy liner off first base for an RBI single.
"They crashed and I slashed," Dickey said. "I felt like it was a good time to try that."
Bay added a run-scoring double with two outs.
The 20-year-old Tejada was recalled from Triple-A Buffalo before the game and will be the starter at second base in the absence of Luis Castillo, placed on the 15-day disabled list with a bruised right heel.
Cody Ross tripled with two outs in the second for Florida and Cameron Maybin followed with a single.
The Marlins added two runs in the third and had a chance for more, but centerfielder Angel Pagan threw out Ramirez at the plate on Jorge Cantu's single for his team-high sixth outfield assist.
Rodriguez blew a save opportunity in his previous outing, Wednesday at San Diego. ... Sanchez has allowed one home run in 11 starts. ... LHP Jonathon Niese will come off the disabled list to start Saturday against Marlins LHP Nate Robertson.