Steve Clarke's side dominated from the outset and Steven Reid played through Romelu Lukaku early on, forcing Artur Boruc into action at his near post.
The Poland international could only turn the ball for a corner from which West Brom took a sixth-minute lead. Graham Dorrans' set piece was nodded goalwards by Gareth McAuley and then Lukaku, allowing Marc-Antoine Fortune to bundle home from close range.
Lukaku was denied by Boruc late on in the first half for the visitors, whose midfielder Claudio Yacob was fortunate not to be sent off after clattering Adam Lallana moments after being booked.
It was 10 minutes into the second half before the hosts to seriously threatened a leveller, with a Nathaniel Clyne cross-shot hitting the crossbar.
Saints were still looking poor, though, and found themselves two goals behind in the 67th minute. Fortune was allowed to turn far too easily and his through ball found Lukaku, who rounded Boruc before slotting home.
It was a fine assist by Fortune, whose afternoon was brought to a premature end three minutes later. Upset by Gaston Ramirez's elbow to Shane Long, the West Brom frontman pushed the Uruguayan in the face.
It led Madley to show Fortune a straight red card - something he also handed out to Ramirez.
West Brom made it 3-0 with Long slotting home past Boruc after getting away from Jos Hooiveld.
Things went from bad to worse for the visitors seven minutes from time when Dan Fox, playing in place of the injured Luke Shaw, was sent off for a terrible two-footed lunge on Reid.