Michail Antonio was sent off as West Ham stretched their unbeaten Premier League start to four matches with a goalless draw at Southampton, who remain without a league win this season.
Antonio was shown a second yellow card for a rash challenge on Moussa Djenepo in second-half stoppage time.
Chelsea loanee Armando Broja had gone closest to snatching all three points for Saints late on, striking the foot of the post with a low effort before having a late header cleared off the line by West Ham captain Declan Rice.
West Ham enjoyed the majority of possession but failed to force a save out of Alex McCarthy until the early stages of the second half, when Antonio's low drive was held by the Southampton keeper.