"This is the fulfilment of a long-held childhood dream for me," Vettel said.
He will drive his final race for Red Bull on Sunday at the final Grand Prix of the season in Abu Dhabi.
"Schumacher in his red car was my greatest idol when I was a little boy," Vettel said.
"That I would have the chance one day to be allowed to drive a Ferrari is an unbelievably great honour."
The announcement ends weeks of speculation over the future of the 27-year-old driver from Hesse after he announced his departure from Red Bull at the start of October.
Vettel takes over from Spaniard Fernando Alonso, who leaves Ferrari after four frustrating years trying to restore the team to its former glory.
Schumacher himself switched to Ferrari in 1996 after bringing home two world championships for the Benetton team.
He went on to win five further titles between 2000 and 2004, a so far unequalled streak.
Vettel has been denied the chance to match Schumacher's record with a fifth win in a row faced by strong performances from the Mercedes team this year.
The German carmaker's drivers Lewis Hamilton and Nico Rosberg will duke it out for this year's championship title in Sunday's race.