Johan Santana allowed eight hits in seven innings, and the Mets took advantage of the only two mistakes made by Roy Oswalt to beat the Houston Astros 3-0 on Friday night. The Mets have won 10 of their last 11 games.