Den första halveken slutade mållöst. Men båda lagen skapade flera chanser. Anthony Martial och Juan Mata var närmast för Manchester United, medan Crystal Palace inte fick fördel i två jättelägen utan istället fick frispark med sig. Ilskan var därför stor mot domaren Mark Clattenburg.
I den andra halvleken träffade Marouane Fellaini ribban med ett skott, och efter en timmes spel nickade Anthony Martial i stolpen och ut.
Men i den 78:e minuten tog Crystal Palace ledningen istället. En långboll slogs ner till Jason Puncheon på kanten, och inhopparen plockade ner bollen och sköt in den i nät på halvvolley.
United kontrade dock direkt. Wayne Rooney avancerade med bollen på offensiv planhalva, ner till kortlinjen och där slog han ett inlägg som Fellaini bröstade ner till Juan Mata. Spanjoren klippte till och satte 1-1 från nära håll.
Matchen gick till förlängning.
Precis innan den andra förlängningskvarten blev Chris Smalling utvisad efter att ha dragit på sig sitt andra gula kort i en Crystal Palace-kontring. Men Palace klarade inte av att utnyttja det läget. Istället satte Jesse Lingard 2-1 till Manchester United i den 109:e minuten. Han tog hand om en misslyckad rensning och sköt in bollen i det bortre hörnet.
Det blev det avgörande målet och Manchester Uniteds pressade manager Louis van Gaal kunde jubla när slutsignalen ljöd efter 120 minuter.
Crystal Palaces startelva: Hennessey; Ward, Dann, Delaney, Souare; Jedinak, Cabaye; Zaha, McArthur, Bolasie; Wickham.
Manchester Uniteds startelva: De Gea; Valencia, Smalling, Blind, Rojo; Mata, Fellaini, Carrick, Rooney, Martial; Rashford.