Ben Brereton Diaz scored his 20th league goal of the season as Blackburn made it six successive Championship victories by beating struggling Barnsley.
The Chile international striker scored with a left-footed shot after the teams went in level at the break despite Rovers dominating much of the opening 45 minutes.
Midfielder Joe Rothwell had put them ahead after striking the woodwork with an earlier effort, but Carlton Morris levelled when his deflected shot rolled in off a post.
There was no way back, though, for the Tykes after Brereton Diaz restored the lead and he is now only two behind Fulham’s Aleksandar Mitrovic in the Championship top scorers’ list as Rovers moved level on points with the second-placed London side.
They remain below them on goal difference, and are also just a single point behind leaders Bournemouth.
Barnsley have not won in eight games, six of them under new head coach Poya Asbaghi, and are seven points from safety, having now played two more than the two sides immediately above the relegation places, Cardiff and Reading.
And they look like a side in need of reinforcements during the January transfer window who can make an instant impact if they are to avoid dropping into League One next season.
The warning signs were there inside the first minute as Reda Khadra sprinted away and beat Barnsley keeper Brad Collins, only for the goal to be disallowed because the referee had already blown up for a foul earlier in the move.
Barnsley midfielder Callum Styles tested home keeper Thomas Kaminski with a curling 20-yard effort, but Blackburn responded when Rothwell fired against the post following a one-two with Harry Pickering.
He made no mistake with his second opportunity after the visitors lost the ball in midfield and it took a last-ditch tackle by Styles to prevent Brereton Diaz making it two before the forward had a shot palmed away by Collins.
The equaliser by Morris came somewhat out of the blue but Blackburn remained the more threatening side following the re-start and the impressive John Buckley eventually found Brereton Diaz in space, and he made no mistake.
Brereton Diaz has scored four more league goals this term than the entire Barnsley side combined and sub Sam Gallagher forced a good low save from Collins in injury time before Styles shot over the bar in reply.
- 1KaminskiBooked at 88mins
- 26LenihanBooked at 67mins
- 25van Hecke
- 8RothwellSubstituted forDolanat 85′minutes
- 21BuckleySubstituted forEdunat 85′minutes
- 7KhadraSubstituted forGallagherat 64′minutesBooked at 83mins
- 30HelikSubstituted forMoonat 62′minutes
- 10BensonBooked at 64mins
- 22OduorSubstituted forAdeboyejoat 71′minutes
- 11Leya IsekaSubstituted forColeat 71′minutes
- Dean Whitestone
Match ends, Blackburn Rovers 2, Barnsley 1.
Second Half ends, Blackburn Rovers 2, Barnsley 1.
Attempt missed. Callum Styles (Barnsley) left footed shot from outside the box is just a bit too high.
Attempt blocked. Carlton Morris (Barnsley) right footed shot from the left side of the box is blocked. Assisted by Callum Styles.
Attempt missed. Ben Brereton (Blackburn Rovers) left footed shot from the centre of the box is too high. Assisted by Darragh Lenihan with a headed pass.
Offside, Blackburn Rovers. Sam Gallagher tries a through ball, but Tayo Edun is caught offside.
Corner, Blackburn Rovers. Conceded by Bradley Collins.
Attempt saved. Sam Gallagher (Blackburn Rovers) right footed shot from outside the box is saved in the bottom right corner.
Foul by Carlton Morris (Barnsley).
Thomas Kaminski (Blackburn Rovers) wins a free kick in the defensive half.
Thomas Kaminski (Blackburn Rovers) is shown the yellow card.
Foul by Josh Benson (Barnsley).
Ben Brereton (Blackburn Rovers) wins a free kick in the defensive half.
Romal Palmer (Barnsley) wins a free kick in the attacking half.
Foul by Tayo Edun (Blackburn Rovers).
Substitution, Blackburn Rovers. Tyrhys Dolan replaces Joe Rothwell.
Substitution, Blackburn Rovers. Tayo Edun replaces John Buckley.
Sam Gallagher (Blackburn Rovers) is shown the yellow card for a bad foul.
Liam Kitching (Barnsley) wins a free kick in the defensive half.
Foul by Sam Gallagher (Blackburn Rovers).