Match ends, Swansea City 1, West Ham United 1.
Swansea City 1-1 West Ham United
- Swansea have lost only one home league game this season
- Carroll scores fourth goal of the season
- Gomis celebrates Swansea goal with French flag
- Sam Allardyce absent with chest infection
Swansea fought back to earn a point against West Ham and protect a strong home record at the Liberty Stadium.
The hosts made the best of the early chances but fell behind as Andy Carroll floated a precise shot into the top corner just before the break.
Substitute Marvin Emnes sparked Swansea into life and Mark Noble could only divert Bafetimbi Gomis' header into his own net as the tide turned.
West Ham came on strong, but a late onslaught could not regain the lead.
The visitors will reflect on two points lost in their pursuit of the top four as they dropped deeper in defence of their narrow lead.
But Swansea have only been beaten once in the Premier League at home this season and it is difficult to deny that the hosts deserved something from the contest.
West Ham's physicality and aerial threat had hustled Swansea to a 3-1 defeat at Upton Park in December and the hosts seemed determined not to be bullied in the opening stages.
Ashley Williams and Federico Fernandez grappled with their opponents under every high ball, goalkeeper Lukasz Fabianski commanded his six-yard box and West Ham, without their manager Sam Allardyce on the touchline because of illness, seemed to lack their usual intensity.
They also carved out the better chances with Gomis and and Gylfi Sigurdsson going close before their promising start was undone and Carroll showed there is more to his game than just old-fashioned target man.
The Hammers' record signing had scored with two headers in the reverse fixture, but on this occasion deftly controlled Stewart Downing's cross on his chest before switching feet to buy a yard of space and clipping a superb shot into the top corner from 15 yards.
Carroll's gleeful celebrations in front of a particularly vocal section of the home support had scarcely finished when Carl Jenkinson produced a superb last-ditch sliding block to deny Wayne Routledge at the other end and ensure the lead lasted until the break.
West Ham's advantage was barely threatened in the early part of the second half, with James Collins almost doubling their lead with a close-range header.
The tone of the game changed though as Garry Monk brought on Emnes and Modou Barrow for Nathan Dyer and Routledge, focusing his attack on the heart of the Hammers defence.
The Swans, for whom Manchester City target Wilfried Bony was absent on international duty, immediately had more central threat with Gomis scooping a presentable chance over the bar before glancing a header towards goal and seeing Noble turn into his own net as he tried to clear.
It set up a grandstand finish and West Ham came closest to a winner through Stewart Downing's 20-yarder and James Tomkins' header, before running out of time.
Swansea manager Garry Monk on Bafetimbi Gomis: "I brought Bafi in the summer and he has worked very well.
He has been frustrated with his game time but the games he has played he has shown his quality.
"Now he has the perfect run and you saw against West Ham the quality he has, and in the coming weeks he will be an even better player."
West Ham assistant Neil McDonald: "I think we should have won as we created some really good chances.
"Andy's goal set us up and it was a very pleasing goal because we have worked on his movement in the box.
"The first touch was great, he showed fast feet to get half a yard and he sticks it in. People think he is just a lump but he has more to his game. He has great touch and is a goalscorer with his head or feet."
- 12DyerSubstituted forEmnesat 62'minutes
- 23G SigurdssonSubstituted forOliveiraat 74'minutes
- 15RoutledgeSubstituted forBarrowat 62'minutes
- 4NolanSubstituted forPoyetat 82'minutesBooked at 90mins
- 31E ValenciaSubstituted forAmalfitanoat 71'minutes
- 12Vaz Te
- Mike Dean
- Shots on Target
Second Half ends, Swansea City 1, West Ham United 1.
Attempt saved. Angel Rangel (Swansea City) header from the centre of the box is saved in the bottom right corner. Assisted by Tom Carroll.
Corner, Swansea City. Conceded by Carl Jenkinson.
Attempt blocked. Nélson Oliveira (Swansea City) left footed shot from outside the box is blocked. Assisted by Neil Taylor with a cross.
Diego Poyet (West Ham United) is shown the yellow card for a bad foul.
Modou Barrow (Swansea City) wins a free kick in the defensive half.
Foul by Diego Poyet (West Ham United).
Foul by Modou Barrow (Swansea City).
Aaron Cresswell (West Ham United) wins a free kick on the left wing.
Attempt missed. Andy Carroll (West Ham United) left footed shot from very close range misses to the right.
Attempt saved. Aaron Cresswell (West Ham United) left footed shot from outside the box is saved in the bottom left corner.
Foul by Ashley Williams (Swansea City).
Morgan Amalfitano (West Ham United) wins a free kick in the attacking half.
Attempt blocked. James Tomkins (West Ham United) header from the centre of the box is blocked. Assisted by Morgan Amalfitano with a cross.
Corner, West Ham United. Conceded by Neil Taylor.
Attempt blocked. Tom Carroll (Swansea City) left footed shot from outside the box is blocked. Assisted by Nélson Oliveira.
Corner, West Ham United. Conceded by Lukasz Fabianski.
Attempt saved. Carl Jenkinson (West Ham United) right footed shot from outside the box is saved in the bottom right corner. Assisted by Diego Poyet with a headed pass.
Corner, West Ham United. Conceded by Ashley Williams.
Attempt saved. Stewart Downing (West Ham United) left footed shot from outside the box is saved in the top centre of the goal. Assisted by Mark Noble.
Substitution, West Ham United. Diego Poyet replaces Kevin Nolan.
Foul by Angel Rangel (Swansea City).
Aaron Cresswell (West Ham United) wins a free kick on the left wing.
Substitution, Swansea City. Nélson Oliveira replaces Gylfi Sigurdsson.
Own Goal by Mark Noble, West Ham United. Swansea City 1, West Ham United 1.
Bafétimbi Gomis (Swansea City) hits the right post with a header from very close range. Assisted by Gylfi Sigurdsson with a cross following a corner.
Delay over. They are ready to continue.
Delay in match James Collins (West Ham United) because of an injury.
Corner, Swansea City. Conceded by James Tomkins.
Substitution, West Ham United. Morgan Amalfitano replaces Enner Valencia.
Attempt blocked. Enner Valencia (West Ham United) right footed shot from outside the box is blocked. Assisted by Mark Noble.
Foul by Leon Britton (Swansea City).
Mark Noble (West Ham United) wins a free kick in the defensive half.
Attempt blocked. Gylfi Sigurdsson (Swansea City) right footed shot from outside the box is blocked. Assisted by Tom Carroll.
Attempt blocked. Modou Barrow (Swansea City) left footed shot from outside the box is blocked. Assisted by Gylfi Sigurdsson.
Attempt blocked. Tom Carroll (Swansea City) left footed shot from outside the box is blocked. Assisted by Neil Taylor.
Attempt missed. Bafétimbi Gomis (Swansea City) right footed shot from the centre of the box is too high. Assisted by Marvin Emnes with a through ball.
Substitution, Swansea City. Modou Barrow replaces Wayne Routledge.
Substitution, Swansea City. Marvin Emnes replaces Nathan Dyer.