Report | Swansea City 2 Middlesbrough 1
Andre Ayew struck a second last-gasp penalty in less than 72 hours to earn Swansea City victory over Middlesbrough and move Steve Cooper's side up to third in the Championship.
Ayew had put the Swans ahead when he volleyed in his 12th goal of the season five minutes before the break after a defensive mix-up by the visitors.
But they looked as though they had been denied all three points when Sam Morsy's deflected strike in second-half stoppage time brought Boro level.
However, there was still time for Jake Bidwell to be felled as he attempted to reach a cut-back into the area and the officials to award a penalty.
And, as had been the case in the win at Stoke in midweek, Ayew kept his nerve to seal the most dramatic of victories.
It means Swansea climb above Brentford and are a point behind second-placed Watford with two games in hand.
The Swans showed one change from the midweek win at Stoke, with Conor Hourihane coming into the side as Jamal Lowe dropped to the bench.
Among the substitutes there was a welcome return to the matchday squad for Ryan Bennett following his recent calf injury.
And Swansea started brightly, getting on the front foot with Hourihane nearly slipping Connor Roberts in on goal after Ayew had won a header.
The visitors lost Anfernee Dijksteel to injury early on, with Djed Spence replacing him after a handful of separate periods of treatment.
Ayew headed off target from a fine Hourihane delivery, but the hosts had the best chance of the early going in the 25th minute, and it took a good stop from to Freddie Woodman to prevent Duncan Watmore netting at the near post.
There was no shortage of endeavour, but there were few clear sights of goal for the hosts until Ayew gave them the lead in the 40th minute.
Middlesbrough made a mess of clearing a free-kick as Jonny Howson and Yannick Bolasie collided in trying to head the ball, and it fell for Ayew to flash a low volley past Marcus Bettinelli at the keeper’s near post.
It ensured Swansea led at the break but there was controversy early in the second half when Middlesbrough had a goal ruled out.
Bola found the net from Bolasie’s lay off, but referee Gavin Ward adjudged the latter had fouled Jay Fulton before his pass, even though replays did suggest otherwise.
The frustration over that decision spurred the visitors on into a prolonged period of pressure, with Matt Grimes and Ben Cabango among those to make key blocks as ball after ball was thrown into the Swansea box.
George Saville headed wide after being picked out by Paddy McNair’s deep free-kick just past the hour mark.
Cooper shuffled his pack as Lowe and Bidwell were introduced from the bench and, while Middlesbrough continued to press, Swansea were defensively resolute and ensured Woodman did not have a meaningful save to make.
Lowe produced a lovely turn from a Roberts throw, but couldn’t quite get a shot off as red shirts converged around him. The forward then worked Bettinell, only for Middlesbrough to level through Morsy.
But there was more drama when Bidwell went down just inside the box, and Ayew applied the crucial finish from the spot.
Swansea City: Freddie Woodman; Connor Roberts, Kyle Naughton, Ben Cabango, Marc Guehi, Ryan Manning (Jake Bidwell 73); Korey Smith (Jamal Lowe 67), Jay Fulton, Matt Grimes (captain), Conor Hourihane; Andre Ayew.
Unused Substitutes: Ben Hamer, Joel Latibeaudiere, Ryan Bennett, Yan Dhanda, Ollie Cooper, Morgan Whittaker, Paul Arriola.
Middlesbrough: Marcus Bettinelli, Anfernee Dijksteel (Djed Spence 16) (Nathaniel Mendez-Laing 78), Grant Hall, Sam Morsy, Dael Fry, Yannick Bolasie (Neeskens Kebano 66), Jonny Howson (captain), Paddy McNair, Duncan Watmore (Chuba Akpom 46), George Saville, Marc Bola (Marvin Johnson 77).
Unused Substitutes: Jordan Archer, Darnell Fisher.
Referee: Gavin Ward