Blackburn prevented Middlesbrough from going top of the Championship as a pair of Boro old boys outshone Jordan Rhodes on his Ewood Park return.
Both Burnley manager Sean Dyche and Hull counterpart Steve Bruce were present to see the team that could have moved above them in the table stumble.
Hope Akpan’s header early in the second half was added to by a goal from ex-Boro striker Danny Graham and goalkeeper Jason Steele, who came through the ranks at the Riverside, played a starring role in denying Rhodes on multiple occasions and only shipped one goal late on to Adam Forshaw.
Apart from a seventh-minute scare involving Rhodes where Steele was forced to scoop the ball clear after a mistake by Grant Hanley, it was a quiet first period.
However, just one minute and 34 seconds after the restart, Rovers made the breakthrough.
Swansea loanee Matt Grimes’s brilliant cross from the left was met by Akpan’s head six yards out for the opening goal.
That lead was almost thrown away as Rhodes bore down on goal once more, with Steele again standing up to the test.
Stewart Downing and Forshaw both fired off target from the edge of the box, while the busy Rhodes continued to test his former team-mates.
Substitutes Adam Clayton and Gaston Ramirez were introduced to up the tempo and it worked as David Nugent saw an effort narrowly deflected wide and Duffy was forced to clear a free-kick over his own crossbar.
And Rhodes came close again, capitalising on Simeon Jackson’s clearance into colleague Ben Marshall to hone in on goal and unleash a shot which Steele did brilliantly to stop going between his legs.
It proved pivotal as Graham doubled the hosts’ advantage with seven minutes to go by reaching the diminutive Jackson’s flick-on from Steele’s clearance. Forshaw drove in a reply in stoppage time but Boro were unable to find a way past Steele again.
Blackburn: Steele, Marshall, Duffy, Hanley, Spurr, Gomez (Bennett 78), Lenihan, Akpan, Grimes (Conway 81), Watt (Jackson 66), Graham. Unused substitutes: Henley, Brown, Ward, Raya.
Middlesbrough: Konstantopoulos, De Laet, Fry, Gibson, Friend, Forshaw, Leadbitter (Clayton 53), Adomah, Nugent (Stuani 86), Downing (Ramirez 64), Rhodes. Unused substitutes: De Pena, Mejias, Nsue, Kalas.
Referee: A Madley (West Yorkshire).