Match ends, Blackburn Rovers 2, Middlesbrough 1.
Goals from Hope Akpan and Danny Graham sealed victory for Blackburn Rovers against Middlesbrough, who missed the chance to go top of the Championship.
Boro, who needed a point, were undone by a deep cross to the back post that Akpan nodded in early after the break.
Graham made it four goals in four games against Boro when he took in Simeon Jackson's flick-on and smashed in.
Adam Forshaw's late goal gave the Teessiders hope in injury time, but it came too late to rescue a point.
Home goalkeeper Jason Steele denied striker Jordan Rhodes three times in one-on-one situations, as the two came up against their respective former clubs.
Scotland international Rhodes and Ritchie De Laet both had penalty claims as Boro pressed, but they were waved away by referee Andrew Madley.
Rovers' second win in a row moves them up to 16th in the table, and they might have enjoyed a more comfortable finish had Matt Grimes turned in two half-chances.
Defeat for Aitor Karanka's visitors, who stay third, was compounded by the loss of captain Grant Leadbitter to a hamstring injury in the second half.
Blackburn Rovers manager Paul Lambert:
"They're a top side. What happens when you see the finishing line, to try and get out, sometimes nerves come into it. Whether that happens to them again, I don't know.
"You'd like to think they will see it through this time because of the disappointment of last year.
"You will tend to find between now and the end of the season it will be pretty twitchy."
Middlesbrough head coach Aitor Karanka:
"It's taken 75-85 for us minutes to wake up. It's really difficult for me to understand why a team like Blackburn, who is in the middle of the table and which had played five games in the last two weeks, and their players wanted it more than us.
Their players are jumping more than us, they were quicker than us, even when they were winning 2-0 they were desiring to score the third one.
"When we are playing to get promotion, or at least to be in the play-offs, it is difficult to understand."
- 3SpurrBooked at 59mins
- 14Gomez Garcia-PencheSubstituted forBennettat 78'minutes
- 26LenihanBooked at 69mins
- 16GrimesSubstituted forConwayat 81'minutes
- 8WattSubstituted forJacksonat 66'minutesBooked at 90mins
- 5de Laet
- 7LeadbitterSubstituted forClaytonat 52'minutes
- 35NugentSubstituted forStuaniat 86'minutesBooked at 90mins
- 19DowningSubstituted forRamírezat 64'minutes
- 10De Pena
- Andy Madley
- Shots on Target
Second Half ends, Blackburn Rovers 2, Middlesbrough 1.
Attempt missed. Adam Clayton (Middlesbrough) right footed shot from outside the box misses to the right.
Cristhian Stuani (Middlesbrough) is shown the yellow card for a bad foul.
Foul by Cristhian Stuani (Middlesbrough).
Thomas Spurr (Blackburn Rovers) wins a free kick in the defensive half.
Simeon Jackson (Blackburn Rovers) is shown the yellow card for hand ball.
Hand ball by Simeon Jackson (Blackburn Rovers).
Gastón Ramírez (Middlesbrough) wins a free kick in the defensive half.
Foul by Simeon Jackson (Blackburn Rovers).
Goal! Blackburn Rovers 2, Middlesbrough 1. Adam Forshaw (Middlesbrough) right footed shot from outside the box to the bottom left corner. Assisted by Gastón Ramírez.
Ritchie de Laet (Middlesbrough) wins a free kick in the defensive half.
Foul by Danny Graham (Blackburn Rovers).
Attempt missed. Ritchie de Laet (Middlesbrough) right footed shot from the centre of the box misses to the right. Assisted by Adam Forshaw with a headed pass.
Substitution, Middlesbrough. Cristhian Stuani replaces David Nugent.
Goal! Blackburn Rovers 2, Middlesbrough 0. Danny Graham (Blackburn Rovers) right footed shot from the centre of the box to the bottom left corner. Assisted by Simeon Jackson with a headed pass.
Substitution, Blackburn Rovers. Craig Conway replaces Matt Grimes.
Attempt blocked. Elliott Bennett (Blackburn Rovers) right footed shot from outside the box is blocked.
Attempt saved. Jordan Rhodes (Middlesbrough) right footed shot from the right side of the box is saved in the bottom right corner.
Offside, Blackburn Rovers. Jason Steele tries a through ball, but Simeon Jackson is caught offside.