Huddersfield Town moved to within one point of the Championship's automatic promotion places as they dented Middlesbrough's play-off hopes at the Riverside stadium.
Naby Sarr opened the scoring for the visitors just before half-time, nodding home Jordan Rhodes' header across goal following a Sorba Thomas wide free-kick.
And Rhodes rounded off the win with a composed finished on the counter-attack on the hour mark having been played through by Lewis O'Brien.
Middlesbrough came closest in the 88th minute when Riley McGree struck the underside of the crossbar, but were otherwise toothless in attack.
Huddersfield's win saw them strengthen their third-place position, going just one point behind second-placed Bournemouth.
However the Terriers' chances of going up automatically as part of the Championship's top two remain slim, having played three games more than the Cherries.
Carlos Corberan's side are realistically fighting for a spot in the play-offs with their victory putting them 10 points clear of Middlesbrough in seventh having played two games more.
They had the better of the opening exchanges, with Boro defender Sol Bamba forced into an error, nearly lobbing his own keeper Luke Daniels early in the first half.
Once they went in front, Huddersfield dominated as Daniels did well to save a Josh Koroma shot when the forward was clean through in the 53rd minute.
Middlesbrough struggled in attack throughout, managing only two shots on target.
The loss saw the hosts' torrid recent Championship form continue. Boro have now failed to win any of their past four, losing three games in that stretch.
A win would have seen them return to the top six. Instead they stay just outside the play-offs, two points behind Sheffield United in sixth having played one game fewer.
Line-ups
Middlesbrough
Formation 3-5-2
28Daniels
2Dijksteel22Bamba17McNair
35Jones48McGree16Howson7Tavernier27Bola
18Watmore11Sporar
28Daniels2Dijksteel22BambaBooked at 44minsSubstituted forCoburnat 55'minutes17McNair35Jones48McGreeBooked at 68mins16Howson7Tavernier27BolaBooked at 70mins18WatmoreSubstituted forConnollyat 78'minutes11SporarSubstituted forBalogunat 61'minutesSubstitutes
1Lumley3Taylor14Peltier23Léa Siliki26Connolly37Coburn47BalogunHuddersfield
Formation 5-4-1
21Nicholls
2Ávila20Turton32Lees23Sarr3Toffolo
16Thomas37Russell6Hogg8O'Brien
9Rhodes
21Nicholls2Ávila20Turton32Lees23Sarr3ToffoloBooked at 36minsSubstituted forRuffelsat 81'minutes16ThomasSubstituted forKoromaat 45'minutes37RussellBooked at 79mins6Hogg8O'BrienBooked at 76mins9RhodesSubstituted forHighat 90'minutesSubstitutes
7Anjorin10Koroma14Ruffels15High18Blackman19Holmes24SinaniReferee:Darren EnglandAttendance:24,230Live Text
Match ends, Middlesbrough 0, Huddersfield Town 2.
Second Half ends, Middlesbrough 0, Huddersfield Town 2.
Attempt blocked. Marc Bola (Middlesbrough) right footed shot from the right side of the box is blocked. Assisted by Isaiah Jones.
Patrick McNair (Middlesbrough) wins a free kick in the defensive half.
Foul by Jonathan Russell (Huddersfield Town).
Foul by Marc Bola (Middlesbrough).
Josh Koroma (Huddersfield Town) wins a free kick in the defensive half.
Attempt blocked. Aaron Connolly (Middlesbrough) right footed shot from outside the box is blocked. Assisted by Josh Coburn.
Marcus Tavernier (Middlesbrough) wins a free kick in the defensive half.
Foul by Scott High (Huddersfield Town).
Substitution, Huddersfield Town. Scott High replaces Jordan Rhodes.
Attempt blocked. Marcus Tavernier (Middlesbrough) left footed shot from the left side of the box is blocked.
Corner, Middlesbrough. Conceded by Pipa.
Riley McGree (Middlesbrough) hits the bar with a left footed shot from the right side of the box. Assisted by Anfernee Dijksteel.
Marcus Tavernier (Middlesbrough) wins a free kick in the defensive half.
Foul by Jordan Rhodes (Huddersfield Town).
Corner, Middlesbrough. Conceded by Naby Sarr.
Corner, Middlesbrough. Conceded by Tom Lees.
Marcus Tavernier (Middlesbrough) wins a free kick in the attacking half.
Foul by Jonathan Russell (Huddersfield Town).