Turned out, those relievers got the entire day off.
"I was very aggressive throwing the first pitch for strikes," said Santana, who got ahead in the count on 26 of 31 hitters. "That allowed me to go out there for the ninth. I was just doing my job."
Argenis Reyes added three hits for the Mets, who have won six straight and 10 of 13. New York began the day leading the NL East by two games over Philadelphia, scheduled to play later at San Diego.
Santana (11-7) retired his first 10 hitters before Jack Wilson singled and Freddy Sanchez reached on an error in the fourth. Wilson had two hits for the Pirates, who have dropped four straight and seven of nine.
Santana threw 85 of 113 pitches for strikes en route to his eighth career complete game and second this season. His previous shutout was June 19, 2007, when he blanked the Mets for Minnesota.
"He's one of the best pitchers in baseball," Pittsburgh manager John Russell said. "That's what he's capable of doing."
The left-hander was at 108 pitches through eight innings and had no thoughts about coming out of the game.
"He was adamant about going back out there, which is always a good thing," New York manager Jerry Manuel said. "If you can, you like to reward."
The Mets, who acquired reliever Luis Ayala from Washington before the game for a player to be named, didn't need to rely on their shaky bullpen, which had trouble nailing down wins in the first two games of the series without injured closer Billy Wagner.
Santana's third career three-hitter gave the Mets six consecutive road victories for the first time since 2001. The two-time AL Cy Young Award winner struck out seven, including Adam LaRoche three times, and didn't walk a hitter.
That continued a strong run by New York starters, who are 6-0 with a 1.51 ERA in their past seven games.
The Mets, who will go for a four-game sweep on Monday, have fashioned their winning streak on the road against the Pirates and Nationals, two teams at the bottom of the standings.
Manuel said that shouldn't diminish the accomplishment.
"We're playing good baseball and getting good pitching," he said. "We're executing, for the most part, in different facets of the game. Those are still things you must do, no matter who you're playing. These are games you would like to win, but it's baseball, so you never know."
New York went ahead early against Pittsburgh for the third game in a row.
Schneider's two-out RBI single down the right-field line in the fourth scored Beltran from first after he was running on the pitch. The three RBI were the catcher's first in 44 career at-bats at PNC Park.
"Hitting in front of Johan, I didn't think I would get too many chances," Schneider said. "But I got some pitches to hit."
Beltran homered leading off the sixth.
Karstens went six innings, allowing four runs and nine hits. The right-hander has allowed two home runs in each of his past two outings.
"I made some bad pitches, and they hit them," Karstens said. "I expect better from myself."
Pirates left fielder Brandon Moss left in the seventh after spraining his left ankle while trying to break from the batter's box on a groundout. He was helped off the field by trainers.
Tests were negative, and Moss said his ankle was feeling better after the game. He will be evaluated further on Monday.
- New York 3B David Wright was given the day off. Wright, who missed his second game this season, is hitting .367 (18-for-49) during his current 11-game hitting streak.
- Pittsburgh general manager Neal Huntington said Zach Duke will remain in the starting rotation despite the left-hander's 0-5 record with a 7.97 ERA in six second-half starts. "He's now going through a tough stretch," Huntington said. "We're going to try to work through it with him."
- The Pirates allowed a runner to reach base in the first inning for the 10th consecutive game.
- Pittsburgh turned two double plays, giving the Pirates 27 in their past 16 games.
- Pirates 3B Andy LaRoche committed two errors.
- Pirates closer Matt Capps (right shoulder bursitis) pitched 1 2/3 innings and walked three batters in a rehab appearance for Triple-A Indianapolis. There is no timetable for his return.