We dominated for long periods and finally broke the deadlock in the 74th minute when Benoit Assou-Ekotto's 25-yard drive appeared to flick off Jermain Defoe on the way home.
However, the visitors' late pressure told in the 91st minute as first substitute Romelu Lukaku's header was cleared off the line and as play continued, Morrison found the bottom corner from 14 yards.
Andre Villas-Boas made two changes from last week's loss at Newcastle.
Jan Vertonghen came in for his full debut in place of injured Younes Kaboul while Rafa van der Vaart got the nod over Gylfi Sigurdsson in our 4-2-3-1 system.
West Brom lined-up 4-4-1-1 and were happy to sit deep with two banks or four and look to frustrate us in the first half.
It worked, because although we controlled the first half - 10 shots to one at half-time told the story - we couldn't convert 63 per cent possession in our favour into an opening goal.
It wasn't for lack of trying as we attacked down both flanks.
Gareth Bale looked particularly threatening down the left and a couple of crosses deserved to end up in the back of the net.
Kyle Walker also got forward - Bale volleyed a difficult chance over from the full-back's cross in the 10th minute - and then turned provider for Aaron Lennon, who picked out van der Vaart from the byline but the Dutchman couldn't turn his effort on target.
Vertonghen started and finished the move that led to the best chance of the half in the 23rd minute. The Belgian international strode out of defence, went wide to Bale and continued his run into the box. Bale's cross was half-cleared and Vertonghen lashed wide with his right foot. If it was his left foot, it might have been a different story.
The second half initially followed the same pattern as we pressed forward and Assou-Ekotto forced Ben Foster to tip over a dipping free-kick in the 53rd minute.
However, West Brom were starting to throw a little more caution to the wind and Brad Friedel made the first of three fine saves to parry out Graham Dorrans' strike.
Defoe fired straight at Foster and was then frustrated by the linesman's flag after a deft finish from Jake Livermore's cross to the far post.
Our first change followed soon after as Emmanuel Adebayor replaced van der Vaart, Defoe dropping in just behind.
The game was opening up and Friedel did superbly to turn aside substitute Lukaku's low shot in the 65th minute. Lukaku would make quite an impact in the final half-hour and soon tested Friedel again, a brave save at the striker's feet.
Sigurdsson entered the fray for Sandro with 17 minutes remaining and had an immediate impact.
His first touch was a corner from our right that was cleared out to Assou-Ekotto and the full-back rifled a shot back from 25 yards that appeared to have clipped off Defoe before flying past Foster.
We all hoped that would be that but West Brom were now creating chances as well.
Jonas Olsson did well to block Sigurdsson's effort, a block soon bettered by Vertonghen on Lukaku in front of goal.
Foster parried Bale's curler and then Assou-Ekotto headed Gareth McAuley's header from a corner onto the crossbar and out.
West Brom piled in again from another corner in the first minute of added time, William Gallas cleared off the line from Lukaku but as play continued, the ball was played into Morisson, who found the bottom corner.
Spurs (4-2-3-1): Friedel; Walker, Gallas, Vertonghen, Assou-Ekotto; Livermore, Sandro (Sigurdsson, 73); Lennon, van der Vaart (Adebayor, 62), Bale; Defoe (Jenas, 77). Unused subs: Cudicini, Caulker, Naughton, Townsend.
West Brom (4-4-1-1): Foster; Reid, Olsson, McAuley, Ridgewell; Fortune (Rosenberg, 78), Mulumbu, Yacob, Dorrans (Brunt, 75); Morrison; Long (Lukaku, 62). Unused subs: Myhill, Gera, Dawson, Jones.
Goals: Spurs - Assou-Ekotto (74). WBA - Morrison (90+1).
Yellow cards: Spurs - Vertonghen (48). West Brom - Mulumbu (30), Reid (82), Yacob (90+3).
Referee: Mr M Dean.