Jay Rodriguez scored a stoppage-time penalty as Burnley snatched a 1-0 victory over Swansea to end a four-game winless run.

For 90 minutes it had looked like being another frustrating afternoon for a Burnley side without a goal in their previous three games and desperately lacking creativity.

But as some fans were heading for the exits, Matt Grimes handled in the penalty area while battling Burnley substitutes Rodriguez and Hannibal for the ball and, after a pause, referee David Webb pointed to the spot.

The win allows Burnley to close the gap to the top two to four points, although boss Scott Parker will know this was not the performance of automatic promotion contenders.

Far too often in the match Burnley – who had scored only eight goals in their last 12 league games before this – settled for shots from outside the box, and it had been Swansea who had gone closer when Liam Cullen’s second-half header was cleared off the line.

Lawrence Vigouroux – the 30-year-old goalkeeper who spent last season at Turf Moor but never made an appearance for the Clarets – was rarely tested until Rodriguez sent him the wrong way from the penalty spot to score his first goal in 11 months.

Indeed, the only time Vigouroux had a real save to make in a first half as dull as the weather came right at the end of it, when Luca Koleosho used a beautiful touch to control a raking pass before cutting inside Josh Key, seeing his powerful shot palmed away.

As the half-time whistle loomed, Josh Cullen, already booked for bringing down Ronald, caught Zan Vipotnik late, but referee Webb ignored the screams from the Swansea bench.

The visitors began the second half showing greater ambition and Ronald brought a save from James Trafford when he got his head on the end of Key’s cross in the 50th minute.

At the other end, Burnley’s Connor Roberts, a Swansea academy product, centred the ball for Jeremy Sarmiento, but the Brighton loanee could not get his shot on target from a dangerous position.

The frustration was growing inside Turf Moor and it almost got much worse in the 64th minute when the hosts needed Maxime Esteve to clear Swansea substitute Cullen’s header off the line after Key was allowed too much time to cross.

Burnley wanted a penalty in the 70th minute when Esteve, stepping out of defence in a bid to make something happen, tumbled in the box as he passed Key, but his fall looked exaggerated.

Clarets captain Josh Brownhill was then relieved to see Swansea substitute Florian Bianchini fire wide after losing possession on the edge of his own box.

In the 84th minute, CJ Egan-Riley got a flick on Jaidon Anthony’s inswinging corner, but Vigouroux was in the right place to block it on the line.

Just when it looked as though their last chance had gone, Bashir Humphreys sent in a cross from the left and, as Swansea struggled to deal with it, the ball struck the raised arm of Grimes to give Burnley the opportunity they needed.