Cardiff were unbeaten in three away league games against Middlesbrough since losing three in a row between 2013 and 2016
Middlesbrough kept their promotion hopes alive with a vital 2-0 win over Cardiff City at the Riverside Stadium.
Chris Wilder's side are now seventh, trailing Sheffield United by two points with two games left in the battle for the last Championship play-off berth.
Boro went ahead on 28 minutes with their first effort of note, as Marcus Tavernier found the net from 25 yards with a powerful right-footed effort.
Riley McGree's deflected shot on 53 minutes sealed a vital victory.
Middlesbrough knew a win was imperative in their bid to finish in sixth place, with no room for slip-ups against a Cardiff side safe from relegation and with little to play for.
Wilder made one change from the Boro side that drew 1-1 at Swansea City on Saturday, with on-loan Arsenal striker Folarin Balogun replacing Josh Coburn in attack.
Bluebirds boss Steve Morison - who has admitted he is already eyeing next season - made two changes from Cardiff's 1-0 defeat at Sheffield United, with Wales midfielders Rubin Colwill and Will Vaulks replacing the injured Joel Bagan and Joe Ralls.
The visitors also switched formation as they lined up with an unfamiliar back four and a midfield diamond, and they looked comfortable as they restricted the hosts.
Middlesbrough began to exert more pressure and they found a breakthrough when Jonny Howson picked out Tavernier, who fired home from 25 yards as Cardiff's defenders failed to close him down - despite goalkeeper Dillon Phillips getting a hand to the ball.
Middlesbrough had lost three successive league games at the Riverside Stadium before beating Cardiff
Cardiff chances were few in the first period, but they did create a good opening in stoppage time when Colwill's impressive run and pass found Jordan Hugill in the penalty area but he fired over the crossbar.
The Bluebirds have scored more than 80% of their league goals this season in the second half of games.
But by the time Max Watters forced Boro goalkeeper Luke Daniels to tip his effort over the crossbar, the hosts were 2-0 ahead as McGree's shot deflected off Curtis Nelson and past Phillips' despairing dive.
Watters almost atoned for his miss when his cross struck the Boro bar with Daniels beaten, but it was the hosts who then almost added to the scoring when McGree headed wide from Marc Bola's cross.
Middlesbrough won the reverse fixture 2-0 in October - in a contest that proved the final straw for Bluebirds boss Mick McCarthy, who stepped down following an eighth straight defeat - and they completed a first league double over Cardiff since the 2014-15 season with relatively few scares.
Cardiff's 23rd league defeat of the season - having lost four in a row and five in six - leaves them in 19th place.
Middlesbrough boss Chris Wilder:
"It's job done. We understood the job we needed to get done and we did that.
"The first goal was a big one, it settled us down and was a big moment we needed.
"I don't think it was a real flowing performance, but it was a 2-0 win.
"We take it to the 45th game of the season and I think that's all we can ask of the boys."
Cardiff boss Steve Morison:
"We just weren't good enough in the final third, we just didn't have enough, it's frustrating.
"When we have our moments we don't take them. It seems like the same old story.
"It hurts. I get out of bed every day to win games of football and hate it when things like this happen.
"The question I've asked the players in the dressing room is, does it hurt them enough to lose?"
- Line-upsMatch StatsLive Text
Line-upsMiddlesbrough
Formation 3-5-2
28Daniels2Dijksteel22Bamba17McNair35Jones48McGree16Howson7Tavernier27Bola18Watmore47Balogun
- 28Daniels2Dijksteel22Bamba17McNair35JonesBooked at 88mins48McGree16HowsonBooked at 90mins7Tavernier27Bola18WatmoreSubstituted forConnollyat 76'minutes47BalogunSubstituted forSporarat 61'minutes
Substitutes
- 1Lumley4Hall10Payero11Sporar14Peltier26Connolly37Coburn
Cardiff
Formation 4-3-1-2
1Phillips17Drameh16Nelson42Denham38Ng22Doyle15Wintle27Colwill6Vaulks23Watters9Hugill
- 1Phillips17Drameh16NelsonBooked at 27mins42DenhamBooked at 62mins38Ng22Doyle15WintleBooked at 33mins27Colwill6VaulksBooked at 90mins23WattersSubstituted forM Harrisat 63'minutes9HugillSubstituted forCollinsat 80'minutes
Substitutes
- 2McGuinness5Flint19Collins29M Harris32King34Semenyo43Luthra
Referee:Matt DonohueAttendance:19,727Match StatsHome TeamMiddlesbroughAway TeamCardiffPossessionHome46%Away54%ShotsHome14Away8Shots on TargetHome4Away4CornersHome9Away4FoulsHome6Away16Live TextPost update
Match ends, Middlesbrough 2, Cardiff City 0.
90'+4'Full Time
Second Half ends, Middlesbrough 2, Cardiff City 0.
90'+3'Post update
Foul by Tommy Doyle (Cardiff City).
90'+3'Post update
Isaiah Jones (Middlesbrough) wins a free kick in the defensive half.
90'+3'Post update
Attempt blocked. Rubin Colwill (Cardiff City) right footed shot from outside the box is blocked. Assisted by Tommy Doyle.
90'+2'Post update
Corner, Cardiff City. Conceded by Anfernee Dijksteel.
90'+2'Post update
Attempt blocked. Tommy Doyle (Cardiff City) left footed shot from the centre of the box is blocked. Assisted by Mark Harris.
90'+1'Post update
Attempt saved. Andraz Sporar (Middlesbrough) left footed shot from outside the box is saved in the bottom right corner. Assisted by Marc Bola.
90'Booking
Will Vaulks (Cardiff City) is shown the yellow card.
90'Booking
Jonny Howson (Middlesbrough) is shown the yellow card.
90'Post update
Foul by Will Vaulks (Cardiff City).
90'Post update
Jonny Howson (Middlesbrough) wins a free kick on the left wing.
88'Booking
Isaiah Jones (Middlesbrough) is shown the yellow card.
87'Post update
Corner, Middlesbrough. Conceded by Oliver Denham.
83'Post update
Attempt missed. Sol Bamba (Middlesbrough) right footed shot from the right side of the six yard box misses to the right. Assisted by Patrick McNair with a cross following a corner.
83'Post update
Corner, Middlesbrough. Conceded by Curtis Nelson.
83'Post update
Attempt blocked. Patrick McNair (Middlesbrough) header from the centre of the box is blocked. Assisted by Jonny Howson with a cross.
82'Post update
Corner, Middlesbrough. Conceded by Curtis Nelson.
81'Post update
Foul by James Collins (Cardiff City).
81'Post update
Patrick McNair (Middlesbrough) wins a free kick in the defensive half.
Page 1 of 5rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com