Perhaps time had caught up to Bartolo Colon. At 43, this seemed to be the logical conclusion. Twice in his previous three starts, he had been tagged for six runs, with the All-Star break doing little to revitalize his right arm. Nobody is actually ageless.

But over seven strong innings Tuesday night, Colon brushed aside questions about fatigue, leading the Mets to a 3-1 victory to salvage a split of a doubleheader. The righthander looked so good that Terry Collins will start him again Saturday, on three days’ rest.

“I told him that was fine with me,” the rubber-armed Colon said through a translator.

The Cardinals had beaten the Mets, 3-2, in the matinee behind a two-run homer by Jedd Gyorko off Noah Syndergaard, who allowed three runs (two earned) in six innings on the way to the loss. In the nightcap, Gyorko struck again, with his solo shot the only run off Colon.

But the veteran settled down. He had pitched well enough that with the bases loaded in the sixth — with a chance for the Mets to pad their lead — Collins let him hit for himself.

advertisement | advertise on newsday

Predictably, Colon struck out, stranding all three runners with Curtis Granderson and Michael Conforto on the bench available to hit. But Colon tossed a scoreless seventh inning. After 87 pitches, he handed the ball to Addison Reed and Jeurys Familia. Both posted scoreless innings to spare the Mets from a sweep.

“It was going exactly where I wanted to, I was getting the pitches I wanted to, so that worked out well,” Colon said.

The Mets have been forced to settle into a pattern of treading water. They’re 6-5 in the second half, a stretch in which they have not won or lost consecutive games.

The Mets (53-46) pulled to within a half game of the Marlins, who are in control of the NL’s second wild card in a crowded race that also features the Cardinals and Pirates. The Mets are 4 1⁄2 games behind the NL East-leading Nationals.

Asdrubal Cabrera’s third-inning double tied the score and scored Alejandro De Aza from second. It was Cabrera’s first hit with runners in scoring position since May 23, a stretch of 32 at-bats. In the fifth, Cabrera lifted a sacrifice fly for his second RBI.

Mets videos

James Loney grounded into a double play with nobody out in the fourth to drive in Wilmer Flores, who had three hits in his first start since Friday.

“I’ve been getting good pitches and driving the ball,” said Flores, who despite sporadic action is hitting .340 in July.

The win in Game 2 came after the Mets failed to rally in the opener. They stranded 11 and finished 0-for-5 with runners in scoring position, a seasonlong problem.

Trailing by a run in the ninth, Cespedes lifted a fly ball that sailed deep enough to offer a glimmer of hope. Off the bat, it appeared to be a walk-off homer. And even when it became clear that he didn’t get quite enough, it looked to be at least deep enough to advance Granderson to second.

But that turned out to be a letdown, as well. Centerfielder Tommy Pham threw out Granderson at second, and Loney grounded out against Cardinals closer Seung Hwan Oh to end the Mets’ 3-2 loss.

advertisement | advertise on newsday

“The guy’s got to make a great throw from the warning track,” said Collins, who took no issue with Granderson’s aggressiveness.

It came after a lack of aggressiveness cost the Mets. Coach Tim Teufel held up the speedy Jose Reyes from trying to score on Cespedes’ third-inning double. Reyes was stranded.

Syndergaard (9-5) allowed three runs (two earned) in six innings. Despite laboring through much of the afternoon, Collins left him in for 115 pitches, equaling a season high.