The 32-year-old returned to Atletico on an 18-month loan deal from AC Milan in December 2014 and had been a free agent after his contract expired at the end of the 2015/16 season.
"I am happy to be here. I never had any doubts about where I wanted to be during the course of this process, even though we didn't know what was going to happen," Torres said in a statement on Atletico's website.
France hammer Iceland to book Germany showdown
"In the end, the important thing is that I got what I had hoped for."
Last season Torres helped Atletico finish third in La Liga and reach the final of the Champions League, which his side lost on penalties to Real Madrid.
He scored 11 league goals in 30 appearances last season and netted once in Europe against Barcelona in the Champions League quarter-final.
Torres started his career at Atletico and captained the team until he left for Liverpool in 2007, before signing for Chelsea in 2011 and then leaving for AC Milan in 2014.
Manchester United's wait for Mourinho ends
"It is great news for us because Fernando belongs here and all Atletico fans are happy that he will continue with us," Atletico Madrid sporting director Jose Luis Perez Caminero added in the statement.
"He knows our club perfectly and is a point of reference for all of his teammates. The players who have come up from our academy have a mirror in which to look and he always has great advice for them."
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ