The 32-year-old midfielder settled the match with his sixth goal of the campaign on 50 minutes.
Cameron Jerome and Christian Benitez combined before the ball was threaded through to Bowyer and he drilled the ball past Joe Hart from 10 yards.
Liam Ridgewell then fired over at the far post after Jerome had flicked on an inswinging free-kick from Sebastian Larsson.
West Ham sub Kieron Dyer then cut in from the left and saw his shot crash against the far post.
The Hammers were reduced to ten men on 79 when Mark Noble brought down Benitez and was sent off for a second bookable offence.
Hart then denied Guillermo Franco and at the other end Jerome shot wide when one on one with Robert Green.