The new deal should see the 27-year-old defender achieve life membership with the Saints.
Geary has played 120 games in his eight seasons at the Saints and said he was elated with the two-year extension.
“In my time at the Saints, I have seen the club rise to the top and now work its way up from the bottom,” Geary said.
“There is an exciting future ahead for the Saints and I couldn’t be happier to commit to being a part of that future.”
After being drafted with pick No.58 in the 2007 rookie draft, Geary was elevated to the senior list at the end of 2007 and made his debut in round one, 2008.
Since then he has established himself as a crucial part of the St Kilda backline.
Geary was elevated to the St Kilda leadership at the beginning of 2013 and captained the club on several occasions in 2015 in the absence of Nick Riewoldt.
Chief operating officer Ameet Bains said Geary had built a reputation as one of the hardest workers and most determined players at the club.