Chelsea had taken the lead in the first match of the English Premier League after a return from international break.
This came via a goal by Christian Pulisic, who tapped into the net after a free-kick hit the post.
But the match turned upside down after defender Thiago Silva was sent off moments later for a late tackle on Okay Yokuslu
Matheus Pereira equalised for the Baggies and then handed them the lead in dramatic turnaround during first-half stoppage time.
Callum Robinson rounded off a lovely flowing move to make it 3-1 after the break.
Then Mbaye Diagne rounded off a sweeping counter-attack to add a Baggies fourth.
Callum Robinson added the fifth in extra time, to give the Sam Allardyce boys a memorable victory and hopes of avoiding relegation.
Chelsea: Mendy, Azpilicueta, Thiago Silva, Zouma, James, Jorginho (Havertz), Kovacic, Alonso, Ziyech (Christensen), Pulisic (Mount), Werner
Substitutes: Arrizabalaga, Rudiger, Christensen, Giroud, Hudson-Odoi, Chilwell, Gilmour
West Brom: Johnstone, Furlong, O’Shea (Ivanovic (Robinson)), Bartley, Ajayi, Townsend, Phillips (Livermore), Yokuslu, Maitland-Niles, Matheus Pereira, Diagne
Substitutes: Robson-Kanu, Diangana, Peltier, Snodgrass, Button, Ahearne-Grant