Joao Pedro headed a stoppage-time winner as Albion sunk Manchester United in the Amex rain.
The striker headed in Simon Adingraâs cross to settle a pulsating contest which had ebbed and flowed.
Danny Welbeck scored the 100th goal of his club career to put Albion ahead when he converted Kaoru Mitomaâs cross before United levelled in the second half through Amad Diallo.
Welbeck hit the bar with a header while Joshua Zirkzee had a goal disallowed for offside but just when it looked like a point apiece Joao struck.
The Brazilian had tested Onana from 20 yards United should have gone in front after 12 minutes but the unmarked Diallo steered Diogo Dalotâs left-wing cross wide from eight yards.
Joel Veltman challenges Marcus Rashford at a rain-lashed Amex. Photo: Paul Hazlewood
A slow-burner of a contest burst into life on 31 minutes when Albion struck. Joaoâs ball across the face of goal ought to have been cleared but it got through to Kaoru Mitoma and his low cross found Welbeck sliding in to score his fifth goal against his former club.
Marcus Rashford thought heâd equalised from the restart, beating Jason Steele from close range after Albionâs keeper made a superb save from Rashfordâs header, but he was offside.
Albion nearly doubled their lead in the 51st minute. Joao outmuscled Casemiro and played James Milner in and he got ahead of Maguire to prod the ball goalwards only for Dalot to cover across and clear it off the line.
Yankuba Minteh became an increasing menace down the right. Welbeck headed his teasing cross straight at Onana but went desperately close to scoring again on 59 minutes. Mintehâs free kick from the left was lifted to the back post where Welbeck met it with a solid header that came back off the bar.
Jan Paul van Hecke leads the celebrations after Danny Welbeck put Albion ahead. Photo: Paul Hazlewood.
Instead of doubling their lead Albion were pegged back just past the hour. Diallo cut inside Jack Hinshelwood on the right and his curling shot went in off the unfortunate Jan Paul van Hecke who was sliding across to try and block the effort.
Albion enjoyed a reprieve when Joshua Zirkzee inadvertently touched fellow sub Garnachoâs shot, which was going in anyway, over the line from an offside position, but it was Albion who looked more likely to find a late winner and deep into stoppage time it came.
Yankuba Minteh tries to find a way through the United defence. Photo: Paul Hazlewood
Substitute Adingra did superbly to spot Joao unmarked at the far post and his dinked cross was headed powerfully past Onana and Albion have six points out of six.
Albion: Steele, Veltman, Dunk, van Hecke, Hinshelwood, Gilmour (Ayari 89), Milner (Baleba 72), Minteh (Rutter 89), Joao, Welbeck (Enciso 79), Mitoma (Adingra 89).
Subs not used: Rushworth, Lamptey, Igor, Webster.
Referee: Craig Pawson
Attendance: 31537