Slaven Bilic dumped his former club out of the FA Cup as West Brom sank woeful West Ham 1-0 at the London Stadium.
Bilic, sacked by the Hammers in 2017, came back to haunt them, with his Championship pace-setters running out deserved winners thanks to Conor Townsend's early strike.
Gallingly for West Ham, this was pretty much their strongest available line-up while Bilic made eight changes to his, with the Croatian's priority lying with the promotion race.
Not only that, but Albion also played the final 18 minutes with 10 men after Semi Ajayi was sent off for a second booking.
Marcus Browne passed up an opportunity to dump Newcastle out as League One outfit Oxford secured a deserved fourth-round replay with a 0-0 draw at St James' Park.
The on-loan Middlesbrough midfielder shot straight at Karl Darlow after finding himself one-on-one with the keeper in front of a sell-out crowd of 52,221.
Newcastle, who had two goals correctly ruled out for offside, will have another chance to reach the fifth round for the first time since 2006, but their failure to convert home advantage will now reduce their winter break.
Mo Besic and Ollie Norwood provided two moments of rare class as Sheffield United ground out a 2-0 win at Millwall.
Everton loanee Besic whipped home his first Blades goal on his 13th appearance, before Norwood wrapped up the fourth-round victory amid an insipid clash at The Den.
Aiden O'Brien scuffed a glorious early chance for Millwall and the hosts never recovered, with two clinical finishes sufficient to put Chris Wilder's men in the hat for the draw.
Portsmouth progressed to the fifth round for the first time since 2010 by comprehensively beating Championship Barnsley 4-2.
Goals from Ben Close, John Marquis, Ronan Curtis and Christian Burgess helped the home side cause an upset at Fratton Park, despite replies from Cauley Woodrow and former Pompey forward Connor Chaplin.
Second-half goals from Grant Hanley and Josip Drmic sent Norwich into the FA Cup fifth round for the first time in eight years with a 2-1 win at Burnley.
Hanley nodded home the Canaries' opener from a Mario Vrancic free-kick in the 53rd minute and Drmic struck the second four minutes later after Joe Hart palmed Lukas Rupp's attempted lob into his path.
Erik Pieters gave Burnley hope with a 72nd minute drive but there was to be no grandstand finish from Sean Dyche's men.
The other all-Premier League tie ended in a 1-1 draw as Southampton and Tottenham finished 1-1. Sofiane Boufal's late leveller earned Saints a replay. Spurs were heading to the fifth round after Son Heung-min put them ahead just before the hour mark.
Reading and Cardiff also face a replay after they fought out a 1-1 draw. Callum Paterson put the Bluebirds ahead after five minutes but Yakou Meite equalised three minutes later.
Coventry and Birmingham finished 0-0 while Kelechi Iheanacho's fourth-minute strike in the early kick-off saw Leicster edge past Brentford 1-0 at Griffin Park.