West Brom went into the game boasting a dreadful home record - having scored just nine goals at the Hawthorns all season - but were well on top from the kick-off.
Sunderland had no answer to Albion's combination of slick passing and intense pressing all over the field and were fortunate to go into the break only two goals down.
O'Neill on West Brom
The decision to start with Stephane Sessegnon as a lone striker backfired as the Benin international failed to retain possession and constantly dropped deep in search of the ball.
O'Neill sent on strikers Campbell and Nicklas Bendtner at half-time in a bid to salvage something from the contest but Odemwingie's second goal three minutes after the restart snuffed out any hopes of a comeback.
Home league goals this season
Wigan - 11
QPR - 13
West Brom - 13
Liverpool - 14
Everton - 14
To their credit, the visitors kept going in an increasingly open second half and should have pulled a goal back late on when Campbell's strike was incorrectly ruled out for offside.
But Roy Hodgson's men remained a threat on the break and grabbed a fourth goal in stoppage time when Andrews fired into the roof of the net.
Jerome Thomas's fine cross from the left wing was only half cleared and, when the ball was recycled back to Youssuf Mulumbu, he was able to drill in a cross which was headed home by Odemwingie who had ghosted in between Michael Turner and Kieran Richardson.
Hodgson praises 'fantastic' support
Morrison then tested Simon Mignolet from 20 yards before Albion found the second goal their dominance deserved.
The move started with goalkeeper Ben Foster's fine pass out to Liam Ridgewell on the left wing. The former Birmingham man was tripped, but referee Chris Foy allowed play to go on and, when Thomas swung over another excellent delivery from the left, Morrison arrived to send a header back across goal and into the far corner.
Foster's distribution also led to the third goal. His throw to Morrison started a rapid counter-attack as the Scotland midfielder found Marc-Antoine Fortune inside the area and, when he turned the ball across the box, Odemwingie arrived to thump in with the aid of a slight deflection.
Thomas cut inside from the left and curled a shot against the crossbar as Sunderland's attacking line-up left the midfield wide open.
Campbell thought he had pulled one back when he shot against the underside of the bar following Bendtner's pass, but any debate over whether the ball had crossed the line was saved by an incorrectly raised offside flag.
Andrews had the final say when he was found by substitute Graham Dorrans and cracked home his second goal in two appearances for the club.
West Brom manager Roy Hodgson:
"We got a great start. Scoring early on gave us the start we needed and we were able to build on it.
"Sunderland worked hard to get back into the game, they put forwards on the field but that gave us the chance to counter attack and score more goals.
"Our home form has been poor and it was a much-needed win. We mustn't rest on our laurels - we've got Chelsea next."
Sunderland boss Martin O'Neill:
"We didn't start well at all today and we played sloppily. West Brom were much better than us and deserved to win.
"It was a poor day for us and I hope that we can learn something from it. We were second best and we didn't deserve anything from the game.
"The third goal killed any chances of us getting back into the game. But it's very difficult to criticise the players after their efforts over the last few months."
Full Time The final whistle goes and the game is over.
Assist by Graham Dorrans.
90:00 +0:14 Goal scored
Goal! - Keith Andrews - West Brom 4 - 0 Sunderland Keith Andrews finds the back of the net with a goal from inside the area to the top right corner of the goal. West Brom 4-0 Sunderland.
James Morrison takes a shot. Save by Simon Mignolet.
Shot by Nicky Shorey. Phillip Bardsley gets a block in.
The ball is swung over by Nicky Shorey.
Centre by Phillip Bardsley, Graham Dorrans makes a clearance.
James McClean crosses the ball.
Foul by Stephane Sessegnon on Liam Ridgewell, free kick awarded. Ben Foster takes the free kick.
The ball is swung over by Fraizer Campbell, Liam Ridgewell makes a clearance.
Craig Gardner produces a left-footed shot from just outside the area that goes wide left of the goal.
Stephane Sessegnon produces a cross, blocked by Keith Andrews.
Ben Foster takes the indirect free kick.
Substitution Shane Long is brought on as a substitute for Peter Odemwingie.
The referee blows for offside.
The ball is crossed by James McClean.
James McClean crosses the ball, Steven Reid gets a block in.
Peter Odemwingie is flagged offside by the assistant referee. John O'Shea restarts play with the free kick.
The ball is swung over by James McClean, save by Ben Foster.
Substitution Youssouf Mulumbu leaves the field to be replaced by Nicky Shorey.
James McClean concedes a free kick for a foul on Steven Reid. Ben Foster takes the free kick.
The ball is swung over by Wayne Bridge, Michael Turner has a headed effort at goal from close in which goes wide right of the target.
Booking Graham Dorrans is shown a yellow card.
Free kick awarded for a foul by Graham Dorrans on Phillip Bardsley.
Graham Dorrans takes the direct free kick.
Booking John O'Shea goes into the book for unsporting behaviour.
John O'Shea concedes a free kick for a foul on James Morrison.
Wayne Bridge crosses the ball.
Craig Gardner gives away a free kick for an unfair challenge on Youssouf Mulumbu. Ben Foster restarts play with the free kick.
The offside flag is raised against Marc-Antoine Fortune. Indirect free kick taken by John O'Shea.
Stephane Sessegnon takes a shot. Blocked by Gareth McAuley.
Inswinging corner taken right-footed by Graham Dorrans, save by Simon Mignolet.
Shot by Marc-Antoine Fortune. Michael Turner manages to make a clearance.
James Morrison takes a shot. Save made by Simon Mignolet.
Wayne Bridge sends in a cross, Jonas Olsson makes a clearance.
Substitution Graham Dorrans is brought on as a substitute for Jerome Thomas.
Effort from 12 yards by Marc-Antoine Fortune.
Free kick awarded for an unfair challenge on John O'Shea by Youssouf Mulumbu. Simon Mignolet takes the direct free kick.
The ball is delivered by Craig Gardner, save by Ben Foster.
Steven Reid is flagged offside by the assistant referee. Simon Mignolet restarts play with the free kick.
Keith Andrews has an effort at goal from 30 yards. Simon Mignolet makes a save.
Craig Gardner has a drilled shot. Ben Foster makes a save.
Substitution Wayne Bridge joins the action as a substitute, replacing Sebastian Larsson.
Outswinging corner taken by James Morrison from the right by-line, Nicklas Bendtner makes a clearance.
James Morrison delivers the ball, clearance made by Michael Turner.
Phillip Bardsley delivers the ball, Liam Ridgewell makes a clearance.
Stephane Sessegnon takes a shot. Save made by Ben Foster.
Shot on goal by John O'Shea from just inside the area clears the crossbar.
Lee Cattermole challenges Marc-Antoine Fortune unfairly and gives away a free kick. Free kick taken by Steven Reid.
Shot from just outside the area by James Morrison goes over the bar.
The ball is delivered by Jerome Thomas, Michael Turner manages to make a clearance.
The ball is sent over by Marc-Antoine Fortune, clearance by Phillip Bardsley.
Jerome Thomas takes a shot.
A cross is delivered by Jerome Thomas, clearance by John O'Shea.
The ball is delivered by Sebastian Larsson.
Assist by Marc-Antoine Fortune.
47:54 Goal scored
Goal! - Peter Odemwingie - West Brom 3 - 0 Sunderland Peter Odemwingie gets on the score sheet with a goal from just inside the area to the bottom right corner of the goal. West Brom 3-0 Sunderland.
Phillip Bardsley crosses the ball, Ben Foster makes a save.
Shot by Craig Gardner. Save by Ben Foster.
The referee gets the second half started.
Substitution Kieran Richardson leaves the field to be replaced by Nicklas Bendtner.
Substitution Fraizer Campbell on for Jack Colback.
45:00 +1:01 Half time
Half Time The referee calls an end to the first half.
Phillip Bardsley has an effort at goal from 35 yards. Keith Andrews gets a block in.
Sebastian Larsson challenges Jerome Thomas unfairly and gives away a free kick. Steven Reid shoots direct from the free kick. Marc-Antoine Fortune takes a shot. Blocked by Kieran Richardson. Outswinging corner taken right-footed by James Morrison from the right by-line.
Jerome Thomas provided the assist for the goal.
40:09 Goal scored
Goal! - James Morrison - West Brom 2 - 0 Sunderland James Morrison grabs a headed goal from close range. West Brom 2-0 Sunderland.
Jerome Thomas sends in a cross,
Marc-Antoine Fortune sends in a cross, John O'Shea makes a clearance.
The ball is crossed by Liam Ridgewell.
James Morrison decides to take the corner short.
Outswinging corner taken right-footed by James Morrison from the right by-line to the near post, Craig Gardner makes a clearance.
Keith Andrews gives away a free kick for an unfair challenge on Lee Cattermole. Lee Cattermole takes the free kick.
A cross is delivered by Liam Ridgewell.
The ball is crossed by Jerome Thomas, clearance made by John O'Shea.
James Morrison has a drilled shot. Save by Simon Mignolet.
Peter Odemwingie fouled by Kieran Richardson, the ref awards a free kick. The ball is delivered by Steven Reid, Jonas Olsson takes a shot. Save by Simon Mignolet.
The ball is crossed by Phillip Bardsley.
Sebastian Larsson crosses the ball, blocked by Liam Ridgewell.
Liam Ridgewell sends in a cross, Michael Turner manages to make a clearance. Corner taken right-footed by James Morrison, clearance by Michael Turner.
Craig Gardner takes a shot from 35 yards and missed to the left of the goal.
Craig Gardner takes a shot from 35 yards and missed to the left of the net.
Unfair challenge on Stephane Sessegnon by Keith Andrews results in a free kick. Lee Cattermole takes the free kick.
The ball is delivered by James Morrison, clearance by John O'Shea.
Phillip Bardsley concedes a free kick for a foul on Jerome Thomas. Jonas Olsson restarts play with the free kick.
The ball is crossed by Sebastian Larsson, Ben Foster makes a save.
The ball is delivered by Kieran Richardson.
Gareth McAuley challenges Stephane Sessegnon unfairly and gives away a free kick. Michael Turner takes the direct free kick.
Centre by Stephane Sessegnon, save by Ben Foster.
Shot by Keith Andrews. Save by Simon Mignolet.
Marc-Antoine Fortune gives away a free kick for an unfair challenge on Craig Gardner. Direct free kick taken by Simon Mignolet.
A cross is delivered by James Morrison, John O'Shea makes a clearance.
A cross is delivered by Sebastian Larsson.
Youssouf Mulumbu sends in a cross, Jack Colback makes a clearance. Inswinging corner taken from the left by-line by James Morrison, clearance by Michael Turner. Keith Andrews takes a shot from just inside the penalty box which clears the crossbar.
Youssouf Mulumbu provided the assist for the goal.
2:28 Goal scored
Goal! - Peter Odemwingie - West Brom 1 - 0 Sunderland Peter Odemwingie grabs a headed goal from close in. West Brom 1-0 Sunderland.
The ball is delivered by Youssouf Mulumbu,
Centre by Jerome Thomas, John O'Shea makes a clearance.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.