Midtstopper Winston Reid scoret det aller siste målet på West Hams hjemmebane gjennom 112 år.
London-klubben klatret til 6.-plass og er på vei mot europaligaen, mens Manchester United er to poeng bak byrival City før søndagens avslutningsrunde og er avhengig av at naboen snubler for at det skal kunne bli mesterligaspill i høst.
Slik så det ikke ut da Martial med to scoringer og en redning på streken vendte West Hams pauseledelse til ledelse for United.
Hans 2-1-mål i det 72. minutt ville, om det hadde blitt kampens siste, løftet United til fjerdeplass.
Hjemmelaget ville det annerledes. Michail Antonio nikket inn 2-2 i det 76. minutt etter et frispark og innlegg fra Dimitri Payet.
Fire minutter senere scoret en annen forsvarsspiller vinnermålet. Igjen var det Payets pasningsfot som lå bak. Nikken gikk ganske rett på David de Gea, men gjestenes målvakt greide bare å slå ballen videre i mål.
Rystet
I avskjedskampen på Boleyn Ground truet West Ham i første omgang med å kjøre over et United-lag som virket rystet etter at spillerbussen på vei til stadion ble pepret med flasker og andre gjenstander.
Ni knuste ruter og en gjeng skremte fotballstjerner var resultatet. Før kampen dukket en video opp på Twitter. Den skal ha blitt filmet av Jesse Lingard med mobilkamera og viste United-spillere som krabbet på gulvet.
På grunn av hendelsen ble kampen forsinket tre kvarter.
Temperaturen på tribunene steg til febernivå da en kavalkade av store West Ham-spillere og minnerike øyeblikk i klubbens historie ble vist på storskjerm i påvente av avspark.
Dagens West Ham-lag, som fra neste sesong skal spille på OL-stadion, sto for flere minneverdige øyeblikk da gjestene ble rundspilt i store deler av første omgang.
Sjansefest
Diafra Sakho sendte hjemmelaget i ledelse før det var spilt 10 minutter, til enorm jubel. Manuel Lanzini ble spilt fram av Aaron Cresswell og la ballen ut til Sakho. Skuddet endret retning på Daley Blind og lurte keeper David de Gea.
Hjemmelaget hadde sjanser som kunne punktert kampen. En feil av Blind førte til at Andy Carroll ble spilt alene med keeper i det 20. minutt, men den gangen var de Gea med på notene.
Et par minutter senere nikket Michail Antonio ballen i mål, men linjemannen markerte at ballen hadde vært ute av spill.
Martial så ikke ut til å bli helt da han ga bort ballen på egen halvdel etter en drøy halvtime. Carroll spilte fram Dimitri Payet, som misbrukte kjempesjansen med en dårlig avslutning.
I annen omgang vendte først gjestene, så vertene kampen sin vei med to mål. Og det ble en kveld det nok vil snakkes lenge om i Øst-London.