Dean Whitehead's second-half strike earned Stoke their first Premier League away win of the season and ensured West Brom wasted the chance to go third.
The Potters frustrated their hosts with an impressive defensive display in an uneventful and uninspiring game.
Neither side created clear chances but Stoke were happy to soak up pressure.
Only Manchester City have conceded fewer goals in the Premier League than Stoke this season. City have conceded a miserly 11 and the Potters have let in just 12.
And Whitehead steered the winner in from fellow substitute Michael Kightly's cross after great perseverance by Kenwyne Jones.
Jones did brilliantly to pressurise Jonas Olsson on the right flank and Whitehead was able to profit to give Stoke a first win on the road in the top flight since they
beat Blackburn Rovers last January.
Their fourth victory from five games sees them move up to ninth in the Premier League table, while the Baggies slipped to back-to-back league defeats for only the second time this term.
And although they had the majority of possession and territory - particularly after the interval - they barely created a chance.
Tony Pulis 'absolutely delighted' with 0-1 win
Stoke had the second best defensive record in the Premier League prior to their trip to the Hawthorns and it was easy to see why after a thoroughly disciplined first-half display.
The Baggies went into the game having won six out of their seven home league encounters, but despite having the
ever-impressive striker Shane Long
back in the starting line-up, they created almost nothing before the interval.
An audacious quick Steven Reid free-kick from the half-way line was the closest they came but Potters keeper Asmir Begovic was alert to the danger and able to tip the ball over.
Apart from Reid's clever effort, and a couple of threatening moments after good work by Youssouf Mulumbu and Graham Dorrans, the Baggies were unable to break down a stubborn Stoke defence brilliantly organised by Ryan Shawcross and Robert Huth.
It was the visitors who had the best opportunity of the first half but Jones, making his first league start of the season in place of the injured Peter Crouch, was unlucky to see his fine header drift just wide from Charlie Adam's floated cross.
Stoke continued to defend deep after the interval and seemed happy to allow West Brom to have the bulk of play and territory and deny the pacy Long space in behind.
Steve BowerBBC Match of the Day commentator
It was game full of energy and endeavour but not too much in the way of quality. West Brom struggled to create chances as Stoke defended brilliantly and that platform allowed Dean Whitehead to grab the winner - his first goal in 59 games.
And the tactics worked brilliantly, as did Tony Pulis's decision to bring on Whitehead and Kightly.
Jones chased a long ball and, after Jonas Olsson wasted two opportunities to clear his lines, Kightly was able to knock the ball across to Whitehead who finished from six yards.
The Baggies had already brought on both Peter Odemwingie and Romelu Lukaku as they looked for a winner, but Stoke stood firm in the final 15 minutes.
Their only chance saw a decent Dorrans strike comfortably palmed away by Begovic as the Potters were able to hold on for a seventh clean sheet of the season with relative ease.
West Brom manager Steve Clarke:
"It wasn't a game of many chances and was the game I expected. The two teams cancelled each other out and it cannot have been great to watch.
"They are organised all the time. They are hard to break down and chasing a goal against them is really difficult. It was a little bit frustrating but I can't fault the players. The effort was great.
Steve Clarke has no doubts about West Bromwich character
"We made some changes as we had two very difficult trips. I have a good squad and there are players that deserve to play and players that are tired. It was the right time to freshen things up.
"We haven't been carried away in the dressing room. We knew there would be bad moments in the season and two defeats in a row are as bad as it has got so far.
"I have no doubts about the players' character. The first target is still 40 points and we look forward to the next game."
Stoke City boss Tony Pulis:
"It was a great result because we haven't won away from home this season. We have drawn four away but could easily have won a couple of those. Every one of the players who played gave it everything.
"West Brom are a good side and very good at counter-attacking - as good a team at that as I have seen this season. We didn't want to get too stretched or over-exposed. We were quite happy to let them have the ball and try to counter-attack. We wanted to make sure they didn't get behind us.
"We didn't want to lose the ball in bad areas. They play between the lines very well. We are delighted to get a clean sheet and win the game.
"We have done well defensively, but we have done well all season. It has been a very good week but we don't get too carried away when we are winning or too despondent when we are losing."
90:00+4:59 The referee blows for the end of the match.
90:00+4:08 Chris Brunt takes a shot. Ryan Shawcross gets a block in. Romelu Lukaku is caught offside.
90:00+3:53 Centre by Goran Popov.
90:00+2:34 Free kick awarded for a foul by Steven Reid on Kenwyne Jones. Dean Whitehead takes the free kick.
90:00+1:35 Shot from 35 yards by Shane Long went wide right of the target.
90:00+1:08 The assistant referee signals for offside against Michael Kightly. Goran Popov takes the indirect free kick.
89:56 Effort from just outside the area by Graham Dorrans goes over the target.
89:29 The ball is crossed by Youssouf Mulumbu, clearance made by Dean Whitehead. Corner taken by Chris Brunt from the left by-line
to the near post, clearance by Kenwyne Jones.
88:35 Chris Brunt sends in a cross, save by Asmir Begovic.
88:08 The official flags Kenwyne Jones offside. Boaz Myhill takes the free kick.
87:29 Geoff Cameron sends in a cross, clearance by Steven Reid.
86:31 Kenwyne Jones fouled by Gareth McAuley, the ref awards a free kick. Free kick taken by Geoff Cameron.
85:33 The ball is delivered by Peter Odemwingie.
83:12 Kenwyne Jones gives away a free kick for an unfair challenge on Jonas Olsson. Free kick taken by Boaz Myhill.
82:31 The ball is delivered by Michael Kightly, blocked by Goran Popov. Corner taken by Michael Kightly played to the near post,
clearance made by Shane Long.
82:02 Graham Dorrans takes a shot. Save by Asmir Begovic.
81:54 Chris Brunt produces a cross, clearance made by Ryan Shawcross.
81:43 Graham Dorrans takes a shot. Save by Asmir Begovic.
80:53 Substitution Claudio Yacob goes off and Chris Brunt comes on.
80:24 Goran Popov takes a shot. Save by Asmir Begovic.
79:53 Steven Nzonzi challenges Graham Dorrans unfairly and gives away a free kick. Steven Reid takes the direct free kick.
78:52 Kenwyne Jones takes a shot. Save by Boaz Myhill.
78:07 Peter Odemwingie delivers the ball.
77:55 Graham Dorrans takes a shot. Blocked by Glenn Whelan.
76:33 Shane Long crosses the ball, Ryan Shawcross manages to make a clearance.
Correction - 74:02 Michael Kightly provided the assist for the goal.
74:02 The assist for the goal came from Geoff Cameron.
74:02 GOAL - Dean Whitehead:West Brom 0 - 1 Stoke Dean Whitehead grabs a goal from inside the six-yard box to the bottom left corner of the goal. West Brom 0-1 Stoke.
Correction - 73:59 Centre by Michael Kightly,
73:59 A cross is delivered by Geoff Cameron,
73:35 The ball is swung over by Shane Long, Glenn Whelan manages to make a clearance.
73:05 The ball is swung over by Youssouf Mulumbu, Steven Nzonzi manages to make a clearance.
72:45 Ryan Shawcross gives away a free kick for an unfair challenge on Shane Long. Steven Reid restarts play with the free kick.
70:36 The ball is swung over by Peter Odemwingie.
69:33 A cross is delivered by Michael Kightly, Jonas Olsson makes a clearance. Glenn Whelan takes a outswinging corner to the near
post, clearance by Romelu Lukaku.
69:14 Centre by Peter Odemwingie, Ryan Shawcross manages to make a clearance.
68:25 Inswinging corner taken by Glenn Whelan from the left by-line played to the near post, save made by Boaz Myhill.
63:04 The official flags Markus Rosenberg offside. Asmir Begovic restarts play with the free kick.
63:04 Substitution Dean Whitehead on for Charlie Adam.
63:04 Substitution Peter Odemwingie replaces Zoltan Gera.
63:04 Substitution (West Brom) makes a substitution, with Romelu Lukaku coming on for Markus Rosenberg.
61:36 Unfair challenge on Youssouf Mulumbu by Steven Nzonzi results in a free kick. Jonas Olsson takes the direct free kick.
61:18 The ball is swung over by Jonathan Walters, Claudio Yacob makes a clearance.
60:03 Zoltan Gera is penalised for a handball. Direct free kick taken by Ryan Shawcross.
58:56 Substitution (Stoke) makes a substitution, with Michael Kightly coming on for Matthew Etherington.
58:29 The ball is sent over by Zoltan Gera, Ryan Shawcross manages to make a clearance.
58:01 Free kick awarded for an unfair challenge on Youssouf Mulumbu by Ryan Shawcross. Zoltan Gera takes the direct free kick.
56:48 Shane Long sends in a cross, save by Asmir Begovic.
55:04 Markus Rosenberg takes a shot. Ryan Shotton makes a clearance. Outswinging corner taken by Graham Dorrans from the right by-line,
Claudio Yacob takes a shot. Save by Asmir Begovic.
53:18 Steven Nzonzi concedes a free kick for a foul on Markus Rosenberg. Gareth McAuley takes the direct free kick.
52:13 The ball is sent over by Ryan Shotton.
51:39 The ball is sent over by Zoltan Gera, Glenn Whelan manages to make a clearance. The ball is delivered by Goran Popov, clearance
made by Geoff Cameron.
50:18 Claudio Yacob challenges Charlie Adam unfairly and gives away a free kick. Asmir Begovic takes the free kick.
50:10 Shane Long crosses the ball, Ryan Shawcross manages to make a clearance.
49:35 Geoff Cameron crosses the ball, clearance made by Gareth McAuley.
49:08 Jonas Olsson takes a shot. Asmir Begovic makes a save.
48:19 Zoltan Gera crosses the ball from the free kick right-footed from right channel, clearance by Geoff Cameron.
48:19 Booking Ryan Shawcross is shown a yellow card for unsporting behaviour.
48:12 Shane Long fouled by Ryan Shawcross, the ref awards a free kick.
45:19 Unfair challenge on Markus Rosenberg by Ryan Shawcross results in a free kick. Free kick crossed right-footed by Graham Dorrans
from right channel, clearance by Steven Nzonzi.
45:01 The referee starts the second half.
45:00+1:09 The half-time whistle blows.
45:00+0:27 Goran Popov crosses the ball, clearance made by Matthew Etherington.
45:00+0:11 Unfair challenge on Zoltan Gera by Steven Nzonzi results in a free kick. Direct free kick taken by Zoltan Gera.
43:14 Zoltan Gera takes the free kick.
43:14 Booking Charlie Adam goes into the book for unsporting behaviour.
43:10 Zoltan Gera fouled by Charlie Adam, the ref awards a free kick.
42:58 Youssouf Mulumbu fouled by Charlie Adam, the ref awards a free kick. Claudio Yacob takes the free kick.
41:08 Corner taken by Graham Dorrans from the right by-line played to the near post, Glenn Whelan manages to make a clearance.
40:48 Corner taken right-footed by Zoltan Gera from the left by-line, clearance by Jonathan Walters.
40:39 Goran Popov sends in a cross, blocked by Ryan Shotton.
40:30 Youssouf Mulumbu sends in a cross, clearance made by Ryan Shawcross.
39:58 Free kick awarded for a foul by Charlie Adam on Graham Dorrans. Claudio Yacob takes the free kick.
39:30 Goran Popov challenges Jonathan Walters unfairly and gives away a free kick. Free kick crossed right-footed by Glenn Whelan,
clearance by Gareth McAuley.
37:56 Goran Popov takes a shot. Ryan Shawcross gets a block in.
36:07 The referee blows for offside against Zoltan Gera. Indirect free kick taken by Asmir Begovic.
Correction - 34:41 Steven Reid takes a shot. Save by Asmir Begovic. Outswinging corner taken by Zoltan Gera from the right by-line played to
the near post, clearance made by Glenn Whelan.
Correction - 34:41 Booking Booking for Robert Huth.
34:41 Steven Reid takes a shot. Save made by Asmir Begovic. Zoltan Gera takes a outswinging corner to the near post, clearance
by Glenn Whelan.
34:41 Booking Robert Huth goes into the referee's book.
Correction - 33:37 Matthew Etherington sends in a cross, Gareth McAuley makes a clearance. Short corner taken by Glenn Whelan, Glenn Whelan takes
a shot. Clearance made by Claudio Yacob. Robert Huth concedes a free kick for a foul on Shane Long.
33:37 A cross is delivered by Matthew Etherington, clearance by Gareth McAuley. Glenn Whelan decides to take the corner short, Glenn
Whelan takes a shot. Clearance made by Claudio Yacob. Awarded for a foul by Robert Huth on Shane Long.
32:26 Goran Popov delivers the ball, clearance by Ryan Shotton.
31:35 Unfair challenge on Zoltan Gera by Ryan Shotton results in a free kick. Free kick taken by Jonas Olsson.
30:56 A cross is delivered by Matthew Etherington, Shane Long makes a clearance.
29:56 The assistant referee flags for offside against Markus Rosenberg. Robert Huth takes the indirect free kick.
Correction - 28:16 A cross is delivered by Graham Dorrans.
28:16 Graham Dorrans crosses the ball.
27:50 Youssouf Mulumbu takes a shot. Blocked by Ryan Shawcross.
27:36 Markus Rosenberg takes a shot. Robert Huth gets a block in.
26:05 Free kick awarded for a foul by Shane Long on Robert Huth. Direct free kick taken by Robert Huth.
22:13 Matthew Etherington delivers the ball, clearance made by Goran Popov. Charlie Adam takes a shot. Blocked by Steven Reid. Matthew
Etherington takes the outswinging corner, clearance made by Goran Popov.
21:47 Ryan Shotton sends in a cross.
19:39 Glenn Whelan takes a shot.
16:59 Youssouf Mulumbu gives away a free kick for an unfair challenge on Kenwyne Jones. Robert Huth restarts play with the free
15:10 Kenwyne Jones fouled by Jonas Olsson, the ref awards a free kick. Glenn Whelan takes the free kick. Glenn Whelan crosses the
ball, Charlie Adam concedes a free kick for a foul on Jonas Olsson. Direct free kick taken by Boaz Myhill.
13:13 Charlie Adam sends in a cross, Steven Reid manages to make a clearance. A cross is delivered by Geoff Cameron, Headed effort
from inside the area by Kenwyne Jones misses to the left of the goal.
11:17 The ball is sent over by Geoff Cameron. The ball is crossed by Ryan Shotton, Steven Reid manages to make a clearance.
8:45 Free kick awarded for a foul by Claudio Yacob on Ryan Shotton. Ryan Shawcross takes the free kick.
6:46 Ryan Shotton crosses the ball.
3:01 Steven Reid sends in a cross, save made by Asmir Begovic.
0:00 The game kicks-off.
Live text and data provided by The Press Association.
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.