On February 2, 2008, Santana was traded from the Twins to the New York Mets for Carlos Gómez, Philip Humber, Deolis Guerra, and Kevin Mulvey. The Mets and Santana agreed to a six-year, $137.5 million contract. Santana was named the Opening Day starter, throwing 100 pitches in seven innings to earn the win against the Florida Marlins. On May 10, 2008, he earned his first win at Shea Stadium as a member of the New York Mets.
On June 1, 2008, Santana earned his 100th career victory, going 7.2 innings and allowing one run in a 6–1 win over the Los Angeles Dodgers.
On July 27, the day after the Mets played a 14-inning game where every pitcher in the bullpen was used, Johan pitched a complete game, striking out five and getting his first RBI as a Met against the St. Louis Cardinals, improving his record to 9–7. On August 17, 2008 Santana pitched his second complete game for his 11th win of the season, allowing only three hits while walking none and striking out 7 in a 3–0 Mets shutout over the Pittsburgh Pirates.
On September 23, Santana threw 125 pitches, a career-high to that point, in eight innings to beat the Chicago Cubs. On September 27, in the thick of a playoff race and on the final weekend of the season, Santana pitched a complete three-hit gem in a 2–0 win against the Florida Marlins on three days' rest. It was later revealed that Santana had pitched that day, and perhaps in many other starts, with a torn meniscus in his left knee, for which he underwent successful surgery on October 1, 2008.