HOUSTON -- Time after time on Wednesday, Mets hitters came to the plate with runners on base. Yet nearly every time those runners were left stranded.

That trend continued for four hours and 13 innings until first baseman Ike Davis made sure the Mets wouldn't waste another opportunity. With the bases loaded in the 14th, Davis hit a sacrifice fly to score Jose Reyes with the eventual winning run in a 3-2 win over the Astros.

"You just try to put the ball in play," Davis said. "I was just trying to hit the ball to the outfielders."

Davis' strategy was easier said than done for Mets hitters most of the game. They left 16 runners on base and were just 2-for-13 with runners in scoring position. With an offense struggling mightily as of late, manager Jerry Manuel was hoping for any way to scratch out a run.

"I was waiting for a passed ball or something like that," Manuel joked. "We'll do better."

The Mets couldn't have asked for a better opportunity with one out in the 14th. They loaded the bases again and had one out against reliever Gustavo Chacin, the last remaining Astros pitcher.

"We were done, positions players and pitchers," Astros manager Brad Mills said. "We were completely done."

But Davis seemed like the last hitter the Mets wanted at the plate. Entering the game, he was just 2-for-22 in his last 11 games and was facing a left-hander in Chacin. Manuel has tried to shield Davis from lefties many times this season.

"You try to ride it out," Davis said of his slump. "You don't want to keep riding it out. You wait for the one time your swing clicks again."

Davis' at-bat in the 13th clicked when he singled for his first hit of the game. He said that helped him with the game on the line against Chacin.

"I actually hit one on the barrel and I hadn't hit one on the barrel in a long time," Davis said. "It gave me a little confidence heading into that last at-bat."

While Davis finally won it with his long fly ball, the Mets bullpen was what gave him a chance to be a hero. Four relievers combined to throw 5 2/3 scoreless innings to preserve the tie. They also gave up two hits over that stretch.

"Usually what wins ballgames is an error by the pitcher," starter R.A. Dickey said. "Our guys just weren't giving in tonight."

Dickey nearly gave the bullpen the night off the way he pitched through eight innings. After he allowed a run in the eighth to make it a 2-1 game, Manuel brought him back out in the ninth to go for his second straight complete game. He got the first out before giving up the tying home run to Geoff Blum.

"I felt like I had been punched in the gut," Dickey said. "But I felt like I did the best I could."

The Mets left the bases loaded in the 10th and had two runners on in the 13th before Davis finally delivered with his game-winner.