The stalemate was perhaps predictable with both sides now having drawn three of their last four games and struggling somewhat to maintain their earlier-season momentum.
Southampton dominated possession, especially in the first half, and had an early Danny Ings effort ruled out for offside. But they struggled to find cracks in a well-drilled defence.
If anything West Ham will feel as though they should have returned to the capital with a win having had the best chances in the second half with Said Benrahma close to a late winner.
Southampton, who were without manager Ralph Hasenhuettl on the touchline after he went into self-isolation following a positive COVID-19 test in his household, stayed in ninth spot with 26 points, a place and three points above West Ham after 16 games.
West Ham manager David Moyes, who returned to the job a year ago with the club in a relegation scrap, described it as a "good point" after his side's first clean sheet in seven games.
"We've not played as well as we did in the first two months of the season," he said. "The first 15 or 20 [minutes] was very difficult but right at the end we had the best chance to win it.
"Little by little we are going in the right direction."
Southampton began in full flow and Ings finished superbly after getting on to a pass from striker Che Adams but the latter was correctly flagged marginally offside.
Ings also went close with a close-range flick and lethal free kick specialist James Ward-Prowse curled the ball over the bar from an inviting position.
Theo Walcott forced a fine save from West Ham keeper Lukasz Fabianski, but it was the visitors who looked the more likely to score in the second half as Moyes made attacking substitutions with Benrahma, Jarrod Bowen and Michail Antonio all coming on.
Benrahma then looked poised to win it for the visitors when he turned well in the area but his close-range shot was brilliantly saved by McCarthy.
While it was a frustrating evening for Southampton, who drew 0-0 with Fulham on Saturday, they at least avoided what would have been a sixth successive league defeat by West Ham.
"The result was good for us based on our history in games against West Ham, unfortunately we weren't able to score," assistant manager Richard Kitzbichler said.
"We have to get back in shape now for this important first game of the New Year [against Liverpool]."