David Moyes’s men had other ideas and after Bowen scored for the seventh away Premier League game in a row, Ward-Prowse capitalised on an error at the back with 16 minutes left.
It consigned injury-hit Tottenham to a fourth defeat in five matches, while ninth-placed West Ham are now only three points behind the hosts following this fifth win in six games.
Both club’s had coped admirably despite the summer departures of talismanic duo Harry Kane and Declan Rice, but injuries were beginning to take their toll on Spurs, while West Ham were without first-choice goalkeeper Alphonse Areola.
It meant Lukasz Fabianski earned a first league start of the season and he was involved in the opening 60 seconds after he collided with Dejan Kulusevski in the penalty area, but Kulusevski had strayed offside anyway.
While Spurs remained without a number of players, Romero did return at the heart of defence and he set about atoning for his red card against Chelsea with the opener in the 11th minute.
From Tottenham’s second corner of the match, Pedro Porro’s curled delivery was met by a towering header from Romero, who impressively outjumped Kurt Zouma before directing his looping effort into the corner.
Romero held up his hands to the home fans behind the goal in seemingly a gesture of apology after he missed the whole of November due to his three-match ban.
West Ham did threaten immediately from kick-off, but Mohammed Kudus fired wide and was adjudged offside.
Tottenham were dominating possession, but West Ham provided a reminder of their threat when a Ward-Prowse corner was bundled wide by Zouma under pressure from Guglielmo Vicario.
Kudus did test Vicario moments later with a 25-yard effort after Destiny Udogie lost possession, but back came Postecoglou’s side.
Porro lashed over before Giovani Lo Celso’s volley was parried away from goal by Fabianski.
Fabianski was required again with 40 minutes played and brilliantly punched clear Lo Celso’s cross with Ben Davies ready to pounce and Kulusevski and Yves Bissouma both failed to hit the target with follow-up shots.
There was still time for Lucas Paqueta to head West Ham’s best chance of the half horribly wide after excellent play by Kudus and Spurs then hit the woodwork when Lo Celso’s cross was deflected onto the stanchion by West Ham captain Zouma to ensure it stayed 1-0 at the break.
It would prove a crucial intervention as seven minutes into the second period the Hammers levelled.
Kudus’s low effort hit Romero and deflected off Davies before it rolled perfectly into the path of Bowen, who smashed into the bottom corner to score on the road again.
Moyes’s team appeared a different proposition now and Paqueta squandered a good opening before a succession of corners were survived by Spurs.
Postecoglou turned to his bench with 23 minutes left as Oliver Skipp and Richarlison entered the fray and the latter should have made it 2-1 soon after.
Porro produced a superb floated delivery to the back post, but Richarlison steered his header wide from six yards.
It was a guilt-edged chance and after Fabianski denied Porro minutes later, West Ham capitalised on a Tottenham error in the 74th minute.
Udogie’s back pass was short and while Vicario dived at the feet of Bowen, Ward-Prowse was first to the loose ball and although his initial effort hit the post, it rolled back for the Hammers midfielder to tap in.
Spurs huffed and puffed during the final exchanges with Pape Sarr curling over before a brief VAR check turned down a penalty in stoppage time, but West Ham held on for a first away win at their rivals since 2019.
Join our commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies