Nicolas Anelka and Steve McManaman were both denied by Kasey Keller in an eventful first half and Trevor Sinclair headed well wide when unchallenged.
Anelka was denied again when he prodded Paulo Wanchope’s knock-down goalwards but Stephen Carr was on hand to clear off the line.
But the biggest culprit was Wanchope - the man Keegan brought back into the side after his last-gasp equaliser at Fulham last week. Today however, he failed to make a breakthrough, despite at least three golden opportunities.
His first came after Anelka played him in with a glorious backheel but his shot low across goal was too easy for Keller.
Wanchope was then played in after some great work between Wright-Phillips and Macca. This time he had time to take a couple of touches before hitting the ball well within Keller’s reach again.
Then after the break Wanchope was put in the clear once more, was tugged back, but he chose to continue towards goal, shooting tamely at the Spurs keeper again.
Robbie Fowler replaced the Costa Rican with 14 minutes remaining and shot inches wide with an instinctive left-foot volley from 20 yards but it wasn’t City’s day.
Spurs had threatened briefly early on with Kanoute poking just wide before Seaman saved well from Anderton’s long-range free-kick.
But Spurs presented no problems again until the dying moments when Robbie Keane was refused a penalty after being held by Jihai Sun and fluffed an extravagant overhead kick.
A Spurs goal at that stage would have really taken the biscuit as City had certainly done enough to win it.
"It is disappointing," said City boss, Keegan. “We have made enough chances to win two or three games.
"But through people not making the right choices in front of goal and some good saves, we have not been able to score any.
"I think Spurs are very fortunate to go away with a point. But they worked hard for David Pleat, and sometimes if you stick at it you get more than you deserve."
City: Seaman; Jihai, Sommeil, Distin, Tarnat; Wright-Phillips, Bosvelt, McManaman (Reyna 85), Sinclair (Sibierski 72); Wanchope (Fowler 76), Anelka.
Unused Subs: Weaver, Bischoff.
Spurs: Keller; Carr, Richards, Gardner, Taricco; Anderton, Bunjevcevic (Ricketts 61), Poyet, Konchesky (Dalmat 78); Kanoute, Keane.
Unused Subs: Burch, Postiga, Doherty.
Attendance: 46,842 (C.O.M.S record)