A small but boisterous minority, the Giants fans at Citi Field only got louder as the night went on. With each passing inning, a lone figure on the scoreboard loomed large, and for the Mets, more ominous.

Listed next to the Mets hit total: zero.

Unheralded rookie righthander Chris Heston made sure it stayed this way, tossing the first no-hitter against the Mets in more than 21 years.

In a 5-0 loss to the Giants last night, the Mets managed just three baserunners against Heston, who plunked Ruben Tejada and Lucas Duda on consecutive at-bats in the fourth, and Anthony Recker to lead off the ninth.

But that's all he allowed in the first no-hitter of the 2015 season. Heston (6-4, 3.77 ERA) struck out 11 and threw 110 pitches, 72 for strikes.

Heston, 27, became just the seventh pitcher to throw a no-hitter against the Mets, and the first since Houston's Darryl Kile on Sept. 8, 1993, at the Astrodome.

Heston joined a list that also includes Sandy Koufax (1962), Jim Bunning (1964), Bob Moose (1969), Bill Stoneman (1972) and Ed Halicki (1975), whose no-hitter also came as a member of the Giants.

"You know what's going on the whole time," Michael Cuddyer said. "It's a little deflating. Nobody wants to get no-hit."

Already in his career, Heston has been designated for assignment, cast aside for another player. He was promoted this season only because of the strained flexor tendon in Matt Cain's right forearm.

But against the Mets, he could do no wrong. The closest Heston came to losing out on history was during a momentary bout of wildness in the fourth inning, when he hit Tejada and Duda. But Cuddyer grounded into a double play.

"Lot of emotions going through my mind right now," Heston said. "Hasn't sunk in yet. Looking forward to catching my breath and celebrating a little bit."

Meanwhile, the Mets endured a miserable night all-around. Noah Syndergaard (2-4) was chased after allowing four runs and 10 hits in six innings. Dillon Gee, exiled from the starting rotation, allowed a solo shot to Joe Panik, the first hitter he faced in his first relief appearance since May 4, 2011.

But the night belonged to Heston, whose mix of sinkers, fastballs and curveballs was enough to throttle a Mets lineup that has been ravaged by injury.

The crowd roared in the eighth when shortstop Brandon Crawford backhanded Eric Campbell's grounder in the hole and threw to first for the final out. With three more outs to go, Heston took the mound and plunked Recker on the left shoulder, perhaps betraying his nerves. Soon, those disappeared.

Pinch hitter Danny Muno took a called strike three on a curveball. Curtis Granderson stared helplessly at a fastball for another called third strike. Tejada ran the count to 2-and-2, but Heston reared back with a fastball that umpire Rob Drake called for strike three.

The crowd of 23,155 erupted as if the Giants had never moved out of Harlem.

Heston popped off the mound, pumped his fist, and raised both arms. As the Mets quietly shuffled off the field, a mob of orange-clad fans celebrated in the leftfield bleachers.

"He's exactly what the scouting report said," said Collins, who had never been on the wrong end of a no-hitter. "He just never missed his spot."