Punto hit .284 for the Twins last season and filed for free agency. The deal includes a club option for 2011.
"Nick has been an important part of the Twins success for the past five years," Twins general manager Bill Smith said. "He provides great defense up the middle and brings leadership and energy to our lineup."
Punto was the team's regular shortstop for much of last season. The Twins have been looking to shore up the left side of the infield, but Punto figures to get plenty of playing time in any case.
The 31-year-old started 59 games at shortstop and split another 29 starts at second and third this year.
Punto has a career average of .252 during six-plus seasons in the majors.