Hampton hit a two-run homer off Santana and the Houston Astros beat the Mets 5-4 on Friday night, handing the New York ace a rare loss after the All-Star break.
Santana (11-8) went 8-0 in 15 second-half starts last season and beat Atlanta on Saturday, his first start after the break. He allowed 12 hits on Friday, matching a career high, in 6 2/3 innings and lost for the third time in five starts.
Hampton snapped a 1-all tie in the fourth, driving the first pitch into the left-field porch after Jeff Keppinger doubled.
Hampton has 16 career home runs, second to Carlos Zambrano (19) among active pitchers. He homered for the first time since May 8, 2005, when he played for Atlanta and hit one off Houston's Chad Harville.
"I was able to stay back long enough to hit his changeup," said Hampton, who came in with a .310 average this season. "It was just one of those things. I probably got lucky, but it was good for us."
Hampton (6-7) pitched well, too, striking out seven in 5 2/3 innings.
"I just wanted to stick with the game plan, mixing my pitches in and out, up and down," he said. "I did that for the most part."
Jose Valverde pitched a perfect ninth for his 11th save in 15 chances.
Chris Coste had a two-run double for the Astros, who've won seven of the last nine meetings with the Mets at Minute Maid Park.
Coste was making his third start at first base for Lance Berkman, who went on the disabled list Thursday with a strained calf. The Astros claimed the 36-year-old Coste off waivers on July 10 and he's batting .364 with four RBIs in his three starts at Berkman's position.
"I've been a guy that's had to fight to get to the big leagues and fight to stay in the big leagues," he said. "Getting some hits, if that's what it takes to stay in the big leagues for a long time, I'm all for it. I have to view it as one of those incredible opportunities."
Omir Santos hit a solo homer for the Mets, who've lost six of eight. The Mets finished with 13 hits, but stranded 10 runners and scored fewer than five runs for the 15th time in 20 games.
Angel Berroa singled and scored on Luis Castillo's double in the Mets' fifth. Jeff Francoeur then hit a bloop single to center and Castillo scored to tie it 3-all when Michael Bourn couldn't convert a diving catch.
Santos cut Houston's lead to 5-4 with a solo homer in the sixth, his fifth of the season. Hampton had not allowed a home run in six starts.
In the seventh, Francouer was hit by a pitch from Alberto Arias and went to second on Fernando Tatis' single. Daniel Murphy singled to right, but Pence threw home and Rodriguez made the easy tag on Francouer at the plate.
"In that situation, you've got to make something happen," Francouer said. "Pence was playing shallow and he had a perfect throw at the plate.
"I probably looked like a pansy right there," Francoeur said. "I needed a football play, but I could never square up with him."
Carlos Lee tied it in the bottom half with Houston's third straight single, the first run allowed by Santana in 15 innings.
"I was just not able to come through tonight," Santana said.
Mets RHP John Maine will seek a second opinion on his ailing right shoulder after aggravating it this week. Maine threw 65 pitches in a simulated game Tuesday in Port St. Lucie, Fla., but said afterward that he was feeling discomfort. Mets spokesman Jay Horwitz said Maine will meet some time next week with orthopedic surgeon Dr. James Andrews in Birmingham, Ala. ... Astros RHP Chris Sampson threw about 25 pitches in a simulated game. Sampson has been on the disabled list since July 10 with muscle spasms in his throwing shoulder. ... Astros INF Aaron Boone took batting practice before the game. Boone, 36, is trying to come back from heart surgery in March.