The deal is worth $4.7 million in 2010, and includes a $600,000 buyout if the Padres don't pick up a $6.75 millioon mutual option for 2011.
Garland turned down a deal from the Nationals similar to the one the team gave Jason Marquis -- two years, $15 million. He simply did not want to play for the Nats and preferred the west coast.
Garland, 30, went 11-13 with a 4.01 ERA in 2009. He spent most of the season with the Diamondbacks before being traded to the Dodgers.
In 10 major league seasons, Garland is 117-102 with a 4.42 ERA. He made the AL All-Star team in 2005 while playing for the White Sox.
The Mets, who are in need of starting pitching, did not aggressively pursue Garland. The team also struck out on Joel Pineiro, who signed with the Angels, and Ben Sheets who signed with the A's. New York may now turn to John Smoltz.