West Ham finished the stronger side and could even have won late on but a draw was probably a fair result.
Tottenham have enjoyed an impressive start to the campaign despite not hitting top gear and sit third with 11 points from five games. West Ham have four points.
"I think that maybe we deserved a bit more than a draw but at the end they also had a chance to score and we'd lose the game," Tottenham manager Antonio Conte said.
"It is not easy to play against West Ham, a physical team and strong. They play long ball and you have to pay attention, we did well at set-pieces, moved the ball well and created opportunities to score.
"We can do much better because I always like to tell my players the details at the final result. Instead of winning, you have to speak about the draw."
West Ham looked sharp from the first whistle but Tottenham gradually gained a foothold and thought they had earned a penalty when Harry Kane's header struck Aaron Cresswell and referee Peter Bankes pointed to the spot.
After a lengthy VAR check, Bankes checked a pitchside monitor and correctly reversed his decision as the ball hit Cresswell's head before striking his arm.
Tottenham did go in front in the 34th minute when a counter-attack initiated by Dejan Kulusevski down the right ended with Kane crossing towards Son Heung-min.
Kehrer had little option but to slide in and could do nothing but prod the ball into his own goal.
West Ham looked threatening and Michail Antonio struck the post with a 25-metre curler after a slick move.
Tottenham had chances in the second half with Son going close but they struggled to keep the hosts at bay.
West Ham levelled when Tottenham switched off from a throw-in and the ball was worked into the area where Antonio produced a superb flicked pass to Soucek who smashed a shot past Tottenham keeper Hugo Lloris.
Tottenham were hanging on at the end and West Ham's Jarrod Bowen fired narrowly wide of the far post in stoppage time.