Match ends, Derby County 1, Middlesbrough 2.
Derby County 1-2 Middlesbrough
Middlesbrough need four points from their remaining two games to be completely sure of a Championship play-off place after a professional win over fellow top-six chasers Derby County.
The Rams started brightly but trailed at the break to Muhamed Besic's strike.
Tom Lawrence almost levelled before Britt Assombalonga slotted in a second after good work by Adama Traore.
David Nugent's late penalty brought hope of an equaliser, but Derby could not avoid a third successive defeat.
Boro, in fifth, are now four points ahead of the Rams, who do have a game in hand but remain out of form and low on confidence despite showing some encouraging signs at Pride Park.
Demoralising defeats against the bottom two Burton Albion and Sunderland had already put an end to any lingering hopes of gaining automatic promotion.
Captain Curtis Davies has questioned the commitment of his team-mates while manager Gary Rowett has said they "owed the fans a performance to be proud of".
The early signs were good in a high-tempo and open start where Bradley Johnson was narrowly off target with a stooping header.
But Boro also looked sharp and went ahead when Besic powered the ball past Scott Carson after some impressive persistence and a fine pull-back by Traore.
Derby maintained a threat, mainly through the excellent Lawrence, the Wales winger sending one effort just wide and teeing up a chance for Nugent who was off target with a strike when he had better options in the box.
But Traore laid on another goal, this time a simple close-range finish for Assombalonga's 14th goal of the season.
And Boro held on for victory despite Nugent slotting in from the spot after Daniel Ayala brought down Curtis Davies.
Derby manager Gary Rowett:
"Against a Tony Pulis side, once you allow that first goal to come in, then it's difficult because you allow them to counter-attack and especially with a player like Adama Traore.
"I can't fault the players' desire and effort today. They were trying as hard as they could to make something happen.
"I feel like a broken record for the last 10 weeks but we're in the same position we were in before the game.
"We've got to step up and perform and while today was better, it wasn't quite enough ultimately."
Middlesbrough boss Tony Pulis:
"It was a smashing performance. We created some wonderful chances, and we've got to hit the target and make sure the goalkeeper makes saves.
"We have to be a little more clinical but I thought we played really well today. I can't give the players any more praise because Derby gave us a proper game.
"We've got a tough game against Millwall next week so we've got to dust ourselves down and make sure we take the good stuff out of this game. It's tough game after tough game - but that's what this league is."
- 44HuddlestoneBooked at 36minsSubstituted forHansonat 71'minutesBooked at 84mins
- 29OlssonSubstituted forWeimannat 63'minutes
- 23VydraSubstituted forPalmerat 63'minutes
- 28NugentBooked at 16mins
- 8ClaytonBooked at 1mins
- 27BesicSubstituted forLeadbitterat 81'minutes
- 37TraoréBooked at 32mins
- 19DowningSubstituted forda Silvaat 85'minutes
- 2da Silva
- Lee Probert
- Shots on Target
Second Half ends, Derby County 1, Middlesbrough 2.
Foul by Andre Wisdom (Derby County).
Adama Traoré (Middlesbrough) wins a free kick in the defensive half.
Goal! Derby County 1, Middlesbrough 2. David Nugent (Derby County) converts the penalty with a right footed shot to the bottom left corner.
Penalty Derby County. Curtis Davies draws a foul in the penalty area.
Penalty conceded by Daniel Ayala (Middlesbrough) after a foul in the penalty area.
Corner, Derby County. Conceded by George Friend.
Corner, Derby County. Conceded by Daniel Ayala.
Substitution, Middlesbrough. Fabio replaces Stewart Downing.
Jamie Hanson (Derby County) is shown the yellow card for a bad foul.
Foul by Jamie Hanson (Derby County).
Adama Traoré (Middlesbrough) wins a free kick in the attacking half.
Attempt missed. Jonny Howson (Middlesbrough) right footed shot from outside the box is close, but misses to the left. Assisted by Britt Assombalonga.
Corner, Derby County. Conceded by Britt Assombalonga.
Corner, Derby County. Conceded by Darren Randolph.
Attempt saved. Tom Lawrence (Derby County) right footed shot from the right side of the box is saved in the top right corner. Assisted by Andre Wisdom.
Attempt saved. Britt Assombalonga (Middlesbrough) left footed shot from the centre of the box is saved in the bottom left corner. Assisted by Stewart Downing.
Substitution, Middlesbrough. Grant Leadbitter replaces Muhamed Besic.
Attempt missed. Curtis Davies (Derby County) left footed shot from the centre of the box is high and wide to the right. Assisted by Jamie Hanson with a cross following a corner.