The 22-year-old Spaniard's move is just two million euros shy of the record transfer of 22 million euros that Benfica paid Atletico for Mexican international Raul Jimenez in 2015.
Porto coach Nuno Espirito Santo has started Torres in 27 matches this season.