Blackburn moved to within two points of the Sky Bet Championship play-offs after a hard-fought 2-1 win over Barnsley.
Tony Mowbray’s side were made to work hard by the impressive Tykes, who were undone by clinical finishing.
The league’s top scorer Adam Armstrong lashed in his fourth in his last three outings a minute before the break against the side he spent the 2016-17 season on loan at.
Sam Gallagher’s sumptuous half-volley then gave Rovers a cushion in the 78th minute, before Romal Palmer’s first goal for Barnsley gave the visitors hope in the closing stages.
The hosts held on, though, to make it back-to-back wins at Ewood Park for the first time this season and five league games unbeaten.
It is a second successive defeat for Barnsley, despite the encouraging performance.
Tony Mowbray recalled Harvey Elliott in place of Gallagher and, for Barnsley, Herbie Kane and Luke Thomas were drafted in.
Jack Walton palmed Tom Trybull’s dipping long-range effort away in the early exchanges, but the visitors took charge of large spells of the first half.
Conor Chaplin fizzed one just wide via a deflection after Barnsley won the ball back high up the pitch, and the same player shot straight at Thomas Kaminski moments later.
Rovers had barely had a sniff but clinically put that right in the last moments of the half.
Armstrong’s close-range shot was blocked by Walton’s legs but Barnsley did not heed the warning and were punished in the 44th minute.
Ryan Nyambe raced clear of Mads Andersen down the right and his low cross fell perfectly to Armstrong, who hammered his 13th league goal of the season into the roof of the net.
Cauley Woodrow sliced horribly wide for the Tykes just after the restart before Rovers left-back Amari’i Bell engineered space in the area but lashed straight at Walton.
The visitors fashioned a superb chance in the 63rd minute when a corner found Andersen at the back post. He put all his weight behind the header but Kaminski produced a sensational save.
Rovers looked to have put the result beyond doubt 12 minutes from time when Nyambe’s cross was cleared as far as Gallagher, who rifled in an unstoppable half-volley into the bottom left corner.
Barnsley fought back, though, with Kaminski’s flying save denying Dominik Frieser before fellow substitute Palmer guaranteed a nervy finish in the 90th minute, but they could not find an equaliser.