He really enjoyed the result.
"You always want to see how you match up against the best," Duke said. "Johan's numbers don't lie; he's a great pitcher. We just capitalized when we had the opportunities tonight."
Duke (6-4) allowed one run and eight hits to lower his ERA to 2.62. He has allowed two earned runs or less in eight of his 11 starts.
Santana (7-3) gave up three runs and seven hits in six innings for New York, which has lost three of four. The Mets have scored two runs or less in five of Santana's 11 starts.
"When you're facing probably the best pitcher in the game right now, you've got to continue to battle and take advantage of any opportunities you get," Pirates manager John Russell said. "He left a few pitches up late, and we took advantage of it, but you know you're not going to score many runs if he's on. He was throwing the ball pretty well, and he had one hiccup one inning and we were fortunate enough to take advantage of it."
New York again was without All-Star outfielder Carlos Beltran, who is dealing with a stomach virus and stayed at the team hotel.
Santana retired the first 10 batters of the game but the Pirates seemed to solve him after that, with eight of the next 12 batters reaching against him.
"He got a couple pitches up, but we should have enough to overcome that," Mets manager Jerry Manuel said. "We weren't able to do that."
Jaramillo hit a one-out drive to left to tie it at 1 in the fifth, and Pittsburgh pushed across two more in the sixth. McLouth doubled in Sanchez and scored on Adam LaRoche's double to make it 3-1.
"They took advantage of those hits, that's pretty much it," Santana said.
Reed tied a career high with three hits and Castillo had a sacrifice fly for New York.
"'I have to keep it within striking distance,' that was my main focus," Duke said. "When I got into those tight spots early on, maybe I'll give up one, but make sure it's only one."
"I'm pretty sure [Duke] had a really good time tonight," Russell said, "to go out there to pitch against Santana, pitch against the Mets and win at home."
The crowd was announced at 10,459 but the actual attendance was much less than that on a night when the NHL Penguins were hosting Game 3 of the Stanley Cup finals across town. ... Pirates OF Nyjer Morgan was ejected by first base umpire Tim McClelland after slamming his helmet to the ground after being called out on a double-play comebacker to Santana in the fifth. It was the second time in the game the speedy Morgan was called out on a close play at first, and that was the first time in his career he grounded into a double play. ... New York INF Ramon Martinez left in the fifth with a dislocated left pinky finger. He was replaced at shortstop by Wilson Valdez. Manuel indicated Martinez would be placed on the disabled list Wednesday.