NEW YORK -- Dillon Gee is grateful for the recent spate of bad weather -- in more ways than one.

Gee revealed he has tendinitis in his right elbow and was able to make his start Wednesday night because two rainouts last week in Washington pushed his turn back a couple of days.

What a start it was, though.

Gee pitched effectively into the seventh inning, Lucas Duda hit one of three Mets homers and New York scored the most runs allowed by Shelby Miller in his young career for a 5-1 win over the St. Louis Cardinals.

"Luckily, the rainouts came at a great time for me personally," Gee said.

The right-hander said he's had tendinitis since spring training and his elbow was checked out by a doctor. Now, it's just a matter of managing the pain.

David Wright and Marlon Byrd also connected for the Mets, who snapped a three-game skid and improved to 2-6 in June. Duda drove in two runs, including a first-inning single that scored Daniel Murphy from first base.

With prized pitching prospect Zack Wheeler nearing his promotion to the big leagues, Gee (5-6) has done everything possible to protect his spot in the rotation. He has yielded only three earned runs over 21 innings in his past three starts -- all wins.

The run of poor weather -- the Mets have been postponed six times this season -- also might help keep Gee in the rotation for at least another start or two. More rain is forecast for Thursday.

"We're looking right now at a possibility of going with the sixth starter for a few days," manager Terry Collins said.

New York needs an extra starter for a makeup doubleheader Tuesday in Atlanta.

A day after being named NL captain for the Home Run Derby during All-Star week at Citi Field, Wright hit a long ball into the center-field seats just to the right of the Big Apple in the sixth.

"I simply didn't execute," Miller said. "A curveball right down the middle to Duda, a fastball right down the middle to Wright. I made mistakes and they capitalized on them."

The NL Central-leading Cardinals entered with the league's best batting average at .277 but could get little going against Gee, who is on a three-game run that's as good as Miller (7-4) has been all season.

Gee scattered six hits and struck out seven in 6 2/3 innings. He gave up a one-out homer in the sixth to Allen Craig -- his second in two days against the Mets.

The recent success could not have come at a better time for the crafty Gee, because the Mets plan to call up Wheeler to start one game of Tuesday's doubleheader. While Collins said everyone would get their turn through the rotation, a pitcher will likely be demoted to the bullpen after that to make room for Wheeler -- and it most likely will be Gee or Jeremy Hefner.

"You've got to weigh a lot of things, Collins said. "You've got to weigh health. You're going to weigh who could pitch out of the bullpen, who's got credentials out of the bullpen. It could be we can't afford to put somebody in the bullpen, we're going to need a starter at another time."

Miller, on the other hand, has solidified a spot in the Cardinals' rotation with surprising consistency for a 22-year-old. The four runs the Mets scored were the most he's allowed in 19 big league appearances -- 13 starts this season. He had allowed three runs three times this year and his ERA is 2.21, up from 1.91 going into the game.

"There are time that it's not just selection (of pitches), but execution," St. Louis manager Mike Matheny said. "Sometimes young pitchers with early success in their careers fall into this. It is a tough league, good hitters -- they make adjustments. They call this a game of adjustments for a reason."

Miller struck out 10 without a walk in six innings.

The Mets did not score against him over 5 2/3 innings on May 15 but were able to go ahead in the first when Wright lined a two-out double to right-center and scored on Murphy's single.

Running on a pitch to Duda, Murphy, not known for his speed, scored from first when right fielder Carlos Beltran played the line drive down the first base line lackadaisically and made his throw to second base.

"What a great read. He never slowed down," Byrd said. "That's what we need -- aggressive."

With one out in the fourth, Duda homered into the Cardinals' bullpen in right-center to end a run of eight straight outs by Miller that began after Duda's RBI single in the first.

David Freese went 0 for 4 for the Cardinals, ending his career-best hitting streak at 20 games -- longest in the majors this season.

Game notes
Cardinals RHP Jake Westbrook (elbow inflammation) is scheduled to come off the disabled list and start Friday night in Miami, but Matheny still has not said who will be sent to the minors to make room. ... Thursday's matinee features a marquee pitching matchup between St. Louis RHP Adam Wainwright (9-3) and Mets RHP Matt Harvey (5-0), but heavy rain is in the forecast. ... Mets SS Omar Quintanilla struck out four times. ... Yadier Molina had three hits for St. Louis.