The 37-year-old will be back for his seventh season with his hometown Padres. The team had a choice between the option or a $3 million buyout.
Giles hit .306 with 40 doubles and 12 homers, along with 63 RBIs and 87 walks.
Giles is a career .294 hitter in parts of 14 big league seasons with the Cleveland Indians, Pittsburgh Pirates and Padres.