Mets starting pitcher Matt Harvey pitches against the Phillies at...

Mets starting pitcher Matt Harvey pitches against the Phillies at Citi Field, Tuesday, April 3, 2018. Credit: David L. Pokress

The Dark Knight days seem so long ago after two seasons of injuries and poor pitching. But Matt Harvey has a chance to write a better script in 2018.

It doesn’t have to revolve around a flamethrowing, top-of-the-rotation superhero. Just being reliable would be a good start.

After flashing some positive signs in spring training, he had a chance to make a nice first impression in the regular season for the Mets Tuesday night against Philadelphia at Citi Field.

The conditions were bad: 40 degrees at first pitch, 12 mph wind, drizzle, very sparse crowd for support. But Harvey was good. The 29-year-old righthander didn’t feel like he had his best material, yet he fired off five innings of no-run, one-hit work. He didn’t get a win. The Mets, however, did. They allowed only two more hits in a 2-0 victory and improved to 3-1.

“Obviously, going five innings and not giving up a ton of runs is definitely a plus,” Harvey said. “It’s something I haven’t usually been used to here, so it was nice to get that done.”

Harvey’s first start in his final season before free agency also included five strikeouts and just one walk. It took him 86 pitches to get through those five innings. Fifty-five went for strikes. He was living mostly in the low 90s with his four-seam fastball that he moved well up and down.

Most of all, Mickey Callaway said, “The confidence is there.”

That’s something Travis d’Arnaud noticed the first time he caught him in spring training. Harvey’s belief had returned. The thoracic outlet syndrome from 2016 and the stress reaction to the scapula bone in his right shoulder from 2017 were old news.

“He’s got that look in his eye back [from] when he was dominant,” d’Arnaud said. “Even tonight, he didn’t have his best stuff, but . . . he wasn’t going to give up. Keep fighting all the way to the end.”

After throwing a 1-2-3 first with one strikeout, Harvey allowed a leadoff single to Rhys Hoskins in the second. But the next three Phillies went down, the last two swinging through fastballs, one at 92 mph and the other at 93.

Philadelphia (1-3) had a runner at second with one out in the third, but Harvey got Cesar Hernandez swinging at another 93 mph fastball and got Carlos Santana to foul out on a changeup.

“I think it’s just knowing that I’m healthy and that I can go out there and I’m not in pain,” Harvey said of his ability to battle through.

He left for a pinch hitter in the fifth. But he made that nice impression.

“I thought Harvey attacked the strike zone pretty good,” Phillies manager Gabe Kapler said.

Ben Lively was pretty good, too. But Philadelphia’s starter finally cracked in the sixth.

Yoenis Cespedes got hit by a pitch, moved to second on a groundout and scored when Todd Frazier rocked a double to the gap in left-center. Then with two outs and Frazier on third, d’Arnaud lined a single into center, ending Lively’s night.

The bullpen also did its part. Jerry Blevins (1-0) cleaned up a two-on, two-out mess for AJ Ramos in the sixth. Seth Lugo provided two perfect innings. Then the Phillies had runners at the corners with one out in the ninth against Jeurys Familia before he nailed down his second save.

“Any time you start hot like we are, you want to keep that going, keep it rolling,” Harvey said. “We’re having a lot of fun in here, and we’re just going to keep that going.”