Nick Powell scored the only goal of the game with 11 minutes remaining after a defensive mistake by Conor Townsend as Stoke moved up into third place, just a point off West Brom and second-placed Bournemouth.
Only the top two teams at the end of the regular season are guaranteed promotion to the Premier League.
"It was a great performance," said Stoke manager Michael O'Neill. "We knew it would be tough and the key was to try and not get dragged into a war.
"We came under pressure but when we got our build-up play right, we created some good chances."
"Hopefully we will gain more belief from this win -- that is what this league is about."
Albion boss Valerien Ismael had no complaints about the result.
"I think that tonight it was not good enough to pretend to get more," he said. "We saw a lot of mistakes from our side and I think it is always a sign of tiredness.
"Stoke were the better team tonight and they deserved to win."
Jacob Brown squandered a chance to put Stoke ahead when he hit the post after nine minutes.
And Stoke went even closer when Darnell Furlong's own goal was disallowed for a foul five minutes before half-time.
Mario Vrancic hit the crossbar with a 25-yard free-kick and substitute Sam Surridge saw a 71st-minute penalty saved before the breakthrough finally came for Stoke.
Surridge had his spot-kick saved by Sam Johnstone after he had been fouled by the keeper in a race for a loose ball.
But Powell finally opened the scoring when he lobbed the ball over the advancing Johnstone from Tommy Smith's pass.