The new deal will quadruple his current weekly wage of £10,000 to £40,000.
Evans almost quit Old Trafford in the summer and was close to joining Sunderland.
Ferguson revealed: “I said to him, ‘Think about three or four years ahead — where would you want to be?
“In the Manchester United first team or the Sunderland first team?’ I told him that he would be a Manchester United first-team player because his potential was so good. I told him he would eventually take over from Rio Ferdinand.
“Rio might play until he is 36 but there will be a place for Evans — he, Vidic and Rio would give you three centre-backs as good as you will ever get.”
Evans said: “I am a big United fan and have been all my life.
“My dad hasn’t missed a home game for five years. He wouldn’t even miss a United match to watch me play at Sunderland.
“It has always been a dream to play at Manchester United. But I will always be grateful to Sunderland for the experience.”