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 on Tuesday night, Colon brushed aside questions about fatigue, leading the Mets to a 3-1 victory over the Cardinals to salvage a split in the doubleheader.

The Cardinals had already beaten the Mets, 3-2, in Game 1 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, his solo shot in the second the only run off Colon (9-5).

But the veteran righty settled down the rest of the way. He had pitched well enough that after the Mets loaded the bases in the sixth — and with a chance for the Mets to pad their two-run lead with just one swing — manager Terry Collins left Colon in to hit for himself.

Predictably, Colon struck out, stranding all three runners with Jose Reyes, Curtis Granderson and Michael Conforto all on the bench available to hit. But Colon tossed a scoreless seventh inning and handed the ball to Addison Reed and Jeurys Familia. Both posted scoreless innings to spare the Mets from dropping both games of the doubleheader. The save was Familia’s 52nd in a row in the regular season, the third-longest streak in major-league history.

“I don’t know how many times I got to say it,” Collins said between games. “This is crunch time.”

The Mets hope to take off, but after the break, they’ve been forced to settle into a pattern of treading water. They’re 6-5 in the second half, an 11-game stretch in which they have alternated wins and losses.

With the victory, 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.

Asdrubal Cabrera’s third-inning double tied the game and scored Alejandro De Aza from second base. It was Cabrera’s first hit with runners in scoring position since May 27, a stretch of 32 at-bats.

In the fifth, Cabrera lifted a sacrifice fly for his second RBI.

James Loney grounded into a double play with nobody out in the fourth, good enough to score Wilmer Flores, whose double was one of his three hits in his first start since Friday.

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 season-long problem.

Trailing by a run in the ninth and with Curtis Granderson on first, Yoenis 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 James Loney grounded out against Cardinals closer Seung Hwan Oh to end the Mets’ 3-2 loss.

“The guy’s got to make a great throw from the warning track,” said Collins, who took no issue with Granderson’s aggressiveness. “Sometimes you’ve got to tip your hats to the other club. I thought Grandy needed to get aggressive. We’re not scoring. We’ve got to start to create some runs.”

Despite laboring through much of the afternoon, Collins left Syndergaard (9-5) in for 115 pitches, equaling a season high.