The Baggies were simply overrun in the opening 45 minutes, a ninth goal of the season for Michu and a Wayne Routledge double giving their hosts a 3-0 lead.
Romelu Lukaku — preferred to in-form Irish international striker Shane Long in attack — pulled one back for the Baggies just before half-time but, despite an improved second-half display, that was as good as it got for Steve Clarke’s side.
Swansea are on a run of just one defeat in nine games and manager Michael Laudrup will be delighted as his side produced their best display of his reign, with the interchangeable trio of Routledge, Nathan Dyer and Pablo Hernandez ripping the visitors apart.
Albion were looking to record a fifth straight win in the top flight for the first time in 34 years, but their hopes of doing so were effectively over when they trailed 2-0 inside 11 minutes.
They had a warning when Swansea struck the woodwork inside 90 seconds. Hernandez’s exquisite pass played in Michu, but the forward’s low shot struck the outside of the near post with Boaz Myhill beaten.
Swansea’s crisp, incisive passing was causing the Baggies all sorts of problems, and it came as no surprise when they fell behind in the ninth minute.
Dyer found space down the right and Hernandez steered his deep cross back across goal for Michu to finish from close range.
The lead doubled less than three minutes later with Hernandez again the provider. The club-record signing set up Routledge who, after a poor first touch, found the net as Jonas Olsson’s attempted challenge saw the ball ricochet in off his shin.
The Swans grabbed a third when Dyer, Hernandez and Ben Davies worked some space down the Swansea left and the full-back’s ball across the box came to Routledge, who smashed home.
Lukaku did give the Baggies a glimmer of hope as he fired home with the last action of the first half as Swansea failed to clear a Brunt corner but this was a bad night for the Baggies.
SWANSEA: Tremmel, Rangel, Williams, Chico, Davies, Britton, Hernandez (Guzman 74), Ki, Dyer (Moore 64), Routledge, Michu (Agustien 86). WEST BROM: Myhill, McAuley, Olsson, Ridgewell, Jones, Yacob, Morrison, Mulumbu, Brunt, Odemwingie, Lukaku.
Ref: Lee Mason (Lancashire).