Once again, Terry Collins was lamenting on Wednesday night how the Mets just haven’t gotten that one big hit that can get a team going.

Then Kelly Johnson hit a game-tying, pinch hit, two-run home in the bottom of the ninth inning against the Diamondbacks to wake up Citi Field.

And the Mets still lost.

Arizona catcher Oscar Hernandez, in his first big-league game this season after getting called up from Double-A Mobile on Tuesday, hit a towering home run to left off Jerry Blevins leading off the 12th and the Mets went on to a crushing 3-2 defeat.

It was Hernandez’s first big-league homer.

The Mets (57-56) have lost four of their last five games. They have the same record as the Yankees.

“We’re just not coming through when we need to as we did a year ago,” Collins said. “I hope they don’t think it’s just going to happen. You have to make things happen in this league . . . You’ve got to go out and you’ve got to earn it.”

advertisement | advertise on newsday

The Mets had three baserunners going into the ninth on three singles against lefthander Robby Ray, who came in with a 4.93 ERA. Ray went seven innings.

So it was 2-0 when pinch hitter Alejandro De Aza led off the ninth by walking against rookie Arizona closer Jake Barrett. After Curtis Granderson struck out, Collins sent up Johnson to bat for Ty Kelly.

The night before, Kelly was the ninth-inning pinch hitter for Travis d’Arnaud in the Mets’ 5-3 loss to Arizona. Kelly grounded out.

Collins’ hunch paid off this time. Johnson launched a 2-0 pitch into the upper deck in right to tie the game at 2.

“I thought we were going to win the game,” Collins said. “I did. As a matter of fact, that inning.”

Mets videos

But Wilmer Flores hit a fly ball to left to end the ninth with Neil Walker on second. All Johnson’s blast led to was more baseball, and for the Mets, more frustration.

“I felt with the momentum, the energy, I thought we were going to get a base hit and win the game,” Collins said. “We just didn’t do it.”

In extra innings, the Mets had one baserunner. Their troubles with runners in scoring position? Now the Mets can’t get hardly anyone into scoring position no matter how many innings they play.

The Mets only had three such at-bats last night and went 0-for-3. Flores flew out to center with runners on first and third in the fourth and De Aza hit a fly ball to center to end the 10th with a runner on second.

“I thought that would be a game that we would win,” Johnson said. “It’s unfortunate. We’ve got to find a way to get something done eventually.”

advertisement | advertise on newsday

Bartolo Colon allowed one run and seven hits in seven innings. The 43-year-old wonder walked one and struck out eight, tying a season high.

The Mets called up Bronx-born T.J. Rivera from Triple-A Las Vegas late Tuesday night and Collins penciled him right into the lineup in the sixth spot at third base. The 27-year-old was batting .349, which was tops in all of Triple-A, and was 15-for-29 (.517) in the last week.

Rivera (1-for-5) picked up his first big-league hit with a single to center in the 10th and made the final out of the game.

Paul Goldschmidt drove in both of Arizona’s runs in regulation play, the first with a third-inning single off Colon and the other on a foul sacrifice fly to right off Addison Reed in the eighth.

The game was delated 20 minutes at the start by rain.