Zaha, 20, will undergo a medical in Manchester on Friday after agreeing personal terms but will be immediately loaned back to Palace for the remainder of the Championship season.
He said: “I am delighted to be joining Manchester United and ending the recent speculation. I would like to thank the owners at Palace for making the move possible, however my focus for the next five months will be solely at Crystal Palace.
"I have been at Palace for more than 10 years, I will always love the club and I want to help get them get back to the Premier League, particularly for the fans who have always been so good to me.”
Zaha, born in the Ivory Coast, came through Palace's academy and made his debut in 2009 before scoring 15 goals in 124 appearances for The Eagles.
This season his progression has accelerated, with a series of devastating performances winning him full international recognition with England in a 4-2 defeat to Sweden in a friendly in November.
Crystal Palace co-chairman Steve Parish said: “I feel this a great deal for the club and the player. We would like to thank Wilf for all he has done for the club and we all wish him well when he joins Manchester United in the summer.
"It was essential to Wilf and ourselves that he stayed at Palace for the remainder of this season to help the club with its main aim of promotion to the Premier League.”
Palace are currently fourth in the Championship, two points shy of an automatic promotion spot.