Starling Marte drove in two runs and the Pittsburgh Pirates closed in on their third straight playoff berth by beating the Colorado Rockies 6-3 Tuesday night.
The Pirates reduced their magic number to one for securing at least an NL wild card. A loss by San Francisco, which played later at San Diego, or a win Wednesday against the Rockies would clinch another trip to the postseason.
Pittsburgh also kept pace with NL Central leader St. Louis. The Cardinals beat Cincinnati to maintain a four-game lead over the second-place Pirates.
Pittsburgh scored in each of the first four innings against Chris Rusin to build a 6-3 lead.
Wilin Rosario's solo homer in the third for Colorado cut it to 3-1, and RBI singles by Charlie Blackmon and Nolan Arenado made it 4-3 in the third.
Marte, who had an RBI double in the first, followed Aramis Ramirez's run-scoring triple in the fourth with a single off the bag at third to restore Pittsburgh's three-run lead.
The Rockies had a chance to cut into the lead when they had runners on first and third in the fourth, but J.A. Happ fanned Brandon Barnes and pinch-hitter Kyle Parker to get out of the jam.
Happ (6-2) left after walking Rosario in the sixth. He allowed three runs on seven hits and struck out eight.
Mark Melancon pitched the ninth for his 49th save, tops in the majors.
Rusin (5-9), who has the only two complete-game victories for Colorado this season, labored through four innings. He allowed six runs on eight hits and walked four.
Pirates: Ramirez left in the sixth with tightness in his left groin.
Rockies: Arenado exited with two outs in the top of the ninth. He hit his face on the dirt diving for an infield single by Jordy Mercer and was replaced by Daniel Descalso.
Pirates: RHP Charlie Morton (9-8) makes his eighth career start against Colorado on Wednesday night. He is 2-2 with a 3.74 ERA overall against the Rockies but lost his only start against them this season.
Rockies: RHP Christian Bergman (3-0) steps in for ailing lefty Jorge De La Rosa. It will be Bergman's 28th appearance this season but only his second start. His last one was April 14 at San Francisco.