Smoltz, 37, has pitched in the majors for 17 seasons and every one of them has been spent with Atlanta. Thursday's contract signing means Smoltz will probably finish his career with the team.
He had one year left on the old contract and was scheduled to make $12 million in 2005.
After being one of the most dominant starters in baseball, Smoltz became a tremendous closer. The Braves have said, however, that Smoltz will return to the starting rotation next season.
"We are delighted that John Smoltz will be a Brave for at least the next two seasons," said Braves General Manager John Schuerholz. "He has been a constant during our string of 13 straight division titles, both with his pitching and his leadership."