Match ends, Swansea City 3, Middlesbrough 1.
Swansea 3-1 Middlesbrough: Andre Ayew scores twice to make nine-man Boro pay
Swansea City ended a six-match winless run as Andre Ayew scored two goals to help them beat nine-man Middlesbrough.
Ayew's first-half penalty put the hosts in front before Marcus Tavernier equalised after the break with a powerful effort.
But just three minutes later, Boro were down to 10 men when substitute Marcus Browne was sent off for a lunge on Mike van der Hoorn.
Ayew then restored the Swans' lead and Sam Surridge added a third before Paddy McNair saw red for a late elbow on Matt Grimes.
A fractious end to the second half undermined Boro's hopes of salvaging anything from this encounter and, after a draw and a win from their previous two matches, this result keeps them 20th in the Championship table and now only three points clear of the relegation zone.
Swansea, by contrast, move up one place to 10th, only a point adrift of the play-off spots.
This was a significant morale boost for Steve Cooper's side who had been in freefall lately, tumbling from the top of the table at the start of November to 11th before this encounter.
Their players had looked devoid of confidence during a run of six successive matches without victory, part of a longer slump which had seen them pick up only three wins from their previous 16 fixtures.
Luck had played its part in some of those results, perhaps most notably when the Swans had four appeals for penalties rejected during Wednesday's home draw with Blackburn.
On this occasion, however, they got one at the first time of asking.
Ayew, a thorn in Boro's side from the first minute, had a shot saved by Aynsley Pears and, as he looked to regain possession on the rebound, was brought down by Dael Fry.
Referee Dean Whitestone pointed to the spot and the Ghana captain picked himself up to score with a confident strike down the middle.
The goal sparked a period of Swansea pressure with Surridge and George Byers both forcing Pears into saves but, after the visitors weathered that mini-storm, the rest of the first half rather fizzled out into a non-event.
The second half was a different story, with Tavernier's first-time strike whistling past Freddie Woodman's near post to bring Boro level in fine fashion.
But just as Jonathan Woodgate's side felt they were gathering momentum, the pendulum swung back in Swansea's direction.
Browne had only come on as a substitute after 50 minutes, was booked for a dive two minutes later and was then shown a straight red card after 63 minutes for a reckless challenge on Van der Hoorn.
Swansea seized on their numerical advantage, Barrie McKay slipping a through ball to Ayew, who composed himself before lashing the ball beyond Pears.
Less than two minutes later the hosts got their decisive third goal, Surridge chesting the ball down and turning well before finding the corner with a neat, low finish.
If Boro had any faint hopes of mounting a late comeback, those disappeared when McNair appeared to lead with his arm as he clattered into Grimes to leave his side having to navigate the closing stages with nine men.
Swansea City head coach Steve Cooper said:
"I'm pleased for the fans, it's been too long, we know that. The team and I have not shied away from the fact we have not won enough games at home this season.
"So, however it came, it was important we won a game here and in general it is a small step back to the team we want to be at the Liberty.
"I felt we were the better team and deserved to win, I think we were the team who wanted to play with the ball and try and create proper chances. I would have liked more of it, truth be told.
"In terms of the red cards, with no disrespect to Jonathan Woodgate or Middlesbrough, I thought they were both red cards."
Middlesbrough head coach Jonathan Woodgate said:
"When we got back into it at 1-1 there was only one team that was going to go on and win the game.
"The penalty is not a penalty at all. Dael Fry gets the ball and it is not a foul at all on Andre Ayew.
"At 1-1 we were looking good, but then there is the decision from Marcus Browne to make a horrific tackle. I absolutely can't condone that. It's a terrible tackle and it's a straight red card. He has let his team down.
"The ill-discipline from Marcus Browne has cost us the game. It's a rash decision and a two-footed tackle. It's very frustrating, but we will definitely appeal Paddy's [McNair]. Marcus will definitely get fined as it was a good performance [from the team] apart from the tackle."
- 44CabangoBooked at 48mins
- 5van der Hoorn
- 28ByersSubstituted forFultonat 60'minutes
- 21DhandaBooked at 54minsSubstituted forMcKayat 68'minutes
- 22A Ayew
- 10CelinaSubstituted forJohnat 72'minutes
- 17McNairBooked at 77mins
- 8ClaytonSubstituted forBrowneat 51'minutesBooked at 63mins
- 22SavilleBooked at 29minsSubstituted forGestedeat 76'minutes
- 21JohnsonSubstituted forWingat 82'minutes
- Dean Whitestone
- Shots on Target
Second Half ends, Swansea City 3, Middlesbrough 1.
Corner, Swansea City. Conceded by Rudy Gestede.
Attempt missed. Sam Surridge (Swansea City) right footed shot from the right side of the box is close, but misses to the right. Assisted by Barrie McKay.
Offside, Swansea City. Declan John tries a through ball, but Jake Bidwell is caught offside.
Corner, Swansea City. Conceded by Marcus Tavernier.
Attempt saved. Rudy Gestede (Middlesbrough) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Lewis Wing.
Attempt missed. Lewis Wing (Middlesbrough) right footed shot from outside the box misses to the right.
Attempt saved. Barrie McKay (Swansea City) right footed shot from outside the box is saved in the bottom left corner. Assisted by Matt Grimes with a headed pass.
Substitution, Middlesbrough. Lewis Wing replaces Marvin Johnson.
Offside, Middlesbrough. Marcus Tavernier tries a through ball, but Rudy Gestede is caught offside.
Patrick McNair (Middlesbrough) is shown the red card.
Matt Grimes (Swansea City) wins a free kick on the right wing.
Foul by Patrick McNair (Middlesbrough).
Substitution, Middlesbrough. Rudy Gestede replaces George Saville.
Attempt missed. Ashley Fletcher (Middlesbrough) right footed shot from the right side of the box misses to the right. Assisted by George Saville.
Goal! Swansea City 3, Middlesbrough 1. Sam Surridge (Swansea City) left footed shot from the centre of the box to the centre of the goal. Assisted by Jake Bidwell with a headed pass.
Substitution, Swansea City. Declan John replaces Bersant Celina.
Goal! Swansea City 2, Middlesbrough 1. André Ayew (Swansea City) left footed shot from the right side of the box to the centre of the goal. Assisted by Barrie McKay.
Matt Grimes (Swansea City) wins a free kick on the left wing.
Foul by Patrick McNair (Middlesbrough).
Substitution, Swansea City. Barrie McKay replaces Yan Dhanda.
Corner, Middlesbrough. Conceded by Sam Surridge.
Foul by Bersant Celina (Swansea City).
Marvin Johnson (Middlesbrough) wins a free kick on the right wing.
Attempt saved. Ashley Fletcher (Middlesbrough) right footed shot from the left side of the box is saved in the centre of the goal.
Offside, Swansea City. Connor Roberts tries a through ball, but André Ayew is caught offside.
Marcus Browne (Middlesbrough) is shown the red card.
Mike van der Hoorn (Swansea City) wins a free kick on the left wing.
Foul by Marcus Browne (Middlesbrough).
Corner, Swansea City. Conceded by George Saville.
Attempt missed. Sam Surridge (Swansea City) right footed shot from the left side of the box is close, but misses to the left. Assisted by Matt Grimes.
Substitution, Swansea City. Jay Fulton replaces George Byers.
Goal! Swansea City 1, Middlesbrough 1. Marcus Tavernier (Middlesbrough) left footed shot from the left side of the box to the bottom left corner. Assisted by Ashley Fletcher following a fast break.
André Ayew (Swansea City) wins a free kick on the right wing.
Foul by Hayden Coulson (Middlesbrough).
George Byers (Swansea City) wins a free kick in the defensive half.
Foul by Hayden Coulson (Middlesbrough).
Freddy Woodman (Swansea City) wins a free kick in the defensive half.
Foul by George Saville (Middlesbrough).