NEW YORK -- Bryce Harper had looked so bad all season against R.A. Dickey's dancing knuckleball that he didn't even expect to play Tuesday night.

Nationals manager Davey Johnson had a different idea.

Harper had his first four-hit game and pinch-hitter Tyler Moore launched a go-ahead homer off Dickey in the seventh inning to send Washington past the punchless New York Mets 5-3.

After entering 0 for 10 with six strikeouts against Dickey, Harper doubled and singled twice off the All-Star pitcher. The talented rookie added an RBI single in the ninth off Josh Edgin to become the first teenager with four hits in a major league game since Andruw Jones did it for Atlanta on Sept. 22, 1996.

"Now he realizes he can hit a knuckleball," Johnson said.

Leadoff batter Jayson Werth reached base all five times for the NL East leaders, who have won seven straight and 11 of 12 at Citi Field.

Harper credited Werth's fine at-bats in front of him for helping him solve Dickey. Werth is 13 for 27 (.481) with two homers, three doubles and five walks against Dickey -- attributing his success to all the Wiffle Ball he played as a kid.

"Just trying to see something up or see a pitch I can square up," Harper said. "I've tried everything against that guy."

Looking for a win over baseball's top team to boost his Cy Young Award resume, Dickey (18-5) mostly pitched out of trouble for seven solid innings. But he gave up a two-run shot to Moore that made it 3-2 in the seventh and was unable to tie Nationals lefty Gio Gonzalez for the major league lead in wins.

Gonzalez beat the Mets 5-1 in the series opener Monday.

Not surprisingly, Dickey got little help from his teammates at the plate. The fading Mets, losers of five in a row and seven of eight, set a club record by failing to score more than three runs for the 12th consecutive home game. The last time they managed four runs at Citi Field was Aug. 12 in a 6-5 win over Atlanta.

New York has dropped 21 of its last 25 in Queens and is 0-5 on a six-game homestand against Atlanta and Washington. The Nationals improved to 13-4 against the Mets this season.

Tom Gorzelanny (4-2) worked a hitless sixth in relief of a shaky Jordan Zimmermann, who labored through 104 pitches over five innings. Christian Garcia struck out three of his four batters and Tyler Clippard allowed a solo homer to pinch-hitter Scott Hairston in the ninth before securing his 31st save in 34 attempts.

Kurt Suzuki also had an RBI single in the ninth for Washington (88-54).

"That's the best lineup I've faced. They're just so functional," Dickey said.

After going an absurd 110 straight innings at home without scoring more than one run, the Mets finally put up a crooked number in the fifth.

Ruben Tejada singled for the third time and scored easily from first when Daniel Murphy's slicing double took an odd carom off the retaining wall in medium left field. Murphy clapped his hands at second base, Dickey cheered from the dugout and then David Wright grounded an RBI single under the glove of a diving Ian Desmond at shortstop.

Suddenly given a 2-1 lead, Dickey soon gave it back. Suzuki singled with one out in the seventh and Moore drove the next pitch to left for his ninth home run in 138 at-bats this season.

"I had a mediocre knuckleball and had to pitch with it," Dickey said. "At this point in the season, you want to give the fans something. We've got a shot at doing something, maybe."

Harper shortened his big swing against Dickey, hitting the ball on the ground all four times. After fouling off a bunt attempt, the 19-year-old slugger chopped a double inside third base to set up Ryan Zimmerman's sacrifice fly in the first.

"I think I was fortunate to get a couple knocks tonight," Harper said. "You can't really get any advice on that guy. He's got a knuckleball. That's what he throws. You either hit it or you don't."

Johnson smiled in the dugout after Harper's third hit. Before the game, he explained his decision to start the youngster.

"He's going to have to learn how to hit a knuckleball. It's too early to be dodging anybody," Johnson said. "Bryce has had a day off and he doesn't need one. He's stronger and younger than anybody out there. And that knuckleball might find his bat. It may take a wrong little knuckle and go right into his bat, and I know he's going to be swinging hard enough, it could cause some damage. So I'm willing to take that chance and have him in the lineup."

Zimmerman became the first Nationals player with an RBI in eight consecutive games. He also singled in the eighth, extending his hitting streak to 15 games.

In a tradition that began after the terror attacks of Sept. 11, 2001, the Mets wore caps commemorating the NYPD, FDNY and other first responders during batting practice and the national anthem.

The Nationals wore their special blue game jerseys with stars and stripes, and both teams lined up along the baselines for a moment of silence before the first pitch.

Game notes

Johnson plans to give LF Michael Morse (sore right hand) a couple of days off. ... LHP Sean Burnett (elbow) could be available Wednesday. ... Johnson said he met New York quarterbacks Eli Manning and Mark Sanchez at a charity function near the World Trade Center site Tuesday morning. "It's just a great cause," the manager said. "It was nice to be there." ... It was Moore's second pinch-hit home run. ... Nationals LHP John Lannan, from nearby Long Beach, will make his first start at Citi Field since April 2010 when he faces Mets rookie Matt Harvey in the series finale Wednesday night.