Premier League leaders United rested several players but manager Alex Ferguson sent on striker Van Persie in a bid to earn a replay and the Dutchman struck in the final minute after controlling a superb long pass by Ryan Giggs.
West Ham's 31-year-old midfielder Cole, who re-signed for his boyhood club on Friday 10 years after leaving for Chelsea and then subsequently Liverpool, provided perfect crosses for James Collins to twice head past goalkeeper David de Gea.
United, 11 times FA Cup winners but not since 2004, had taken the lead through Tom Cleverly after 23 minutes but central defender Collins equalised with a glancing header from Cole's inswinging cross four minutes later.
West Ham's second after 59 minutes was a carbon copy of their first goal, Collins again sending the ball looping past De Gea from another textbook delivery from Cole who was given a standing ovation when he was later substituted.
"We were unlucky not to win," Cole told ITV. "It was a great start for me but it feels like a missed opportunity." (Reporting by Martyn Herman; editing by Ken Ferris)