Albion had to settle for a goalless draw against Fulham in a hard-fought affair at The Hawthorns on Tuesday evening.
Grady Diangana went closest for the Baggies with his close-range effort going narrowly wide, while Anthony Knockaert had the best chance for the visitors, hitting the bar from range.
The result means Albion’s fate is still in their own hands with two games to play.
The Baggies are now four points clear of third-placed Brentford, who have a game in hand against Preston North End on Wednesday night, and five points clear of fifth-placed Fulham, with two games to play.
Slaven Bilić made two changes to the side that drew 1-1 at Blackburn on Saturday with Ahmed Hegazi, who returned from a one-game suspension, and Diangana replacing Kyle Bartley and Filip Krovinović.
With so much at stake it was perhaps to be expected that the game would start in nervous fashion - but there were moments of scintillating quality at each end that brought it to life.
Diangana cut in from the right to skip past two Fulham defenders before testing Marek Rodák with a long-range strike, before Sam Johnstone tipped wide from Anthony Knockert’s curling 25-yard effort.
The visitors went closer still in the 21st minute when Ivan Cavaleiro’s dipping back-post header from Knockaert’s centre was cleared off the line by Hegazi.
Albion had their best move of the game to date just after the drinks break, with a fine passing move instigated by Diangana’s darting run culminating in O’Shea’s right-wing cross almost catching out Rodák at his near post, but the Whites stopper forced the ball wide.
The Baggies carved out another opportunity three minutes before with Austin crossing from the right for Pereira who sent a left-foot volley wide of the back post.
The start of the second half began largely the same as the first and slowed further with a series of fouls on Diangana and Pereira - one of which allowed the latter to test Rodák with a low free-kick from 25 yards just before the hour mark.
The visitors gave the Baggies a brief scare five minutes later when Semi Ajayi was forced to clear after Mitrovic headed goalwards from a left-wing corner.
In the 68th minute Albion so nearly took the lead. O’Shea found Diangana with a right-flank ball in and the winger, who took a touch to deceive his marker, saw his poke deflect agonisingly wide of the right upright.
The Baggies had arguably their second best chance of the game from the resulting corner when Ajayi headed over from Pereira’s fierce corner.
Bilić’s men went close once more on 73 but Ajayi’s header glanced inches wide of the back post from another majestic Pereira corner.
And yet it was Fulham who almost took the lead moments later. Knockaert’s stunning volley from 25 yards rattled the bar and bounced to safety.
The Baggies again broke - it was a real end-to-end affair by now - and Harrison Reed provided a superb blocked tackle to keep out Robson-Kanu’s low shot after he got on the end of a one-two with Diangana.
On 77 Pereira headed wide from Ajayi’s deep cross but again Albion were unable to find the all-important goal - but could take comfort in the knowledge they still have their promotion destiny in their own hands heading into the penultimate game of the season.
Albion: Johnstone; O’Shea, Ajayi, Hegazi, Townsend; Livermore (c), Sawyers; Diangana (Robinson 85), Pereira (Krovinović 93), Grosicki (Phillips 46); Austin (Robson-Kanu 65).
Subs: Bond; Furlong, Bartley, Brunt, Harper.