Jacob Butterfield condemned Burnley to only their second home defeat at home of the season, as his second half strike was enough to take all three points for the 10-man Teessiders.
Despite dominating the game, the Clarets could not turn pressure in to goals as the gap between themselves and third-placed Derby County was cut to eight points with four games left to play.
Sean Dyche made one change from the side that defeated Barnsley on Tuesday, with a place in line-up for Kieran Trippier after four weeks out with a hamstring injury.
Trippier, who had been an unused substitute at Oakwell, replaced Chris Baird in the Clarets starting 11.
Opponents Middlesbrough were forced in to making five changes for the game at Turf Moor.
Daniel Ayala and Jonathan Woodgate came in for the suspended Ben Gibson and Kenneth Omeruo, with Emanuel Ledesma replacing the injured George Friend in a new look back line for the away side.
Other tactical changes for Boro included Dean Whitehead and Lee Tomlin for Josef Varga and Luke Williams in an unfamiliar 3-5-2 formation.
The game started evenly with no clear cut chances for either side in the opening exchanges.
The first opportunity of the game arrived on 18 minutes, when a delightful ball from Trippier just inside the Boro half found Danny Ings unmarked at the back post. The striker hit the ball on the volley, but mistimed his effort and shot over.
Shortly after the visitors had their first sight of goal, when a Lee Tomlin strike was deflected just wide.
The woodwork kept Burnley from taking the lead on 20 minutes, when a Ben Mee found the head of Michael Kightly at the far post.
The winger sent a looping header back across goal which crashed off the bar before Ashley Barnes put the rebound over.
The home side kept pressing. A give and go with Ings sent Dean Marney racing through on 26’.
The midfielder got to the edge of the six yard box before teeing the ball across for Ings. Nathaniel Chalobah did enough to put the striker off however, and intercepted for a corner.
Boro soon after hit the Clarets on the counter, and went close to taking a shock lead when an Albert Adomah cross was put over by Danny Graham at the near post.
Ings and Arfield both fashioned half chances, but Burnley had to weather some late pressure to ensure they went in to the break level.
A Danny Graham shot from the edge of the box was firstly saved by Heaton for corner. The Clarets was in action again soon after, superbly tipping a Jacob Butterfield effort over.
Emanuel Ledesma who scored the only goal in the reverse fixture, delivered a similar attempt two minutes short of the half, though this time the ball went inches wide.
Half-Time Burnley 0-0 Middlesbrough
Burnley came out the blocks the quickest in the second half and were close to taking the lead within five minutes of the restart.
Marney, on the edge of the box played in Kightly. The Winger played the ball across goal which was narrowly intercepted. That in turn led to a goal-line scramble before the Boro defence cleared.
Middlesbrough as they so often have this season, struck on the counter to claim the opening goal on 51 minutes.
Tomlin received the ball as it broke out from defence. The playmaker showed pace and strength to shake off defenders and make his way from the half-way line to the edge of the box.
A sweet nutmeg put the ball in the path of Butterfield to slot home and put his side ahead.
It could have got even worse for the Clarets as four minutes later a curling effort from Tomlin went within a whisker of the post.
The home-side rallied. Trippier cut inside to shoot over on 56’ and Ings headed over from a corner moments later.
Burnley were pushing, putting Middlesbrough’s backs to the wall. and skipper Jason Shackell thought he’d headed in an equaliser from a corner, only to be denied by Graham on the line.
On 66 minutes Barnes then connected perfectly with his head from a Michael Duff cross to bring out a magnificent save from Dimi Konstantopoulos.
The Greek was in action again two minutes later, tipping a Trippier free-kick away with precision as the Boro desperately held on to their lead.
And the shot-stopper prevented the Clarets once again from a free-kick on 79’. This time from David Jones.
It showed signs of not being Burnley’s day, as Junior Stanislas strike was kept out by Knostantopoulos and Barnes dragging the rebound wide.
The Clarets continued to knock at the door, but Middlesbrough simply would not let up. Jonathan Woodgate intercepting a low cross narrowly wide.
Without a doubt Middlesbrough owed much to their keeper, saving one more time from substitute Ross Wallace.
And when Boro kept out a Ben Mee header in stoppage time to keep their distant play-off hopes alive, it sealed a a rare home defeat on the Clarets.
Burnley: Heaton, Trippier, Mee, Shackell, Duff, Kightly (Wallace, 80), Jones, Marney, Arfield (Stanislas, 80), Barnes, Ings.
Subs not used: Cisak, Long, Treacy, Edgar, Baird.
Middlesbrough: Konstantopoulos, Tomlin, Butterfield (Varga, 72), Woodgate, Leadbitter, Ledesma, Whitehead, Chalobah, Ayala, Graham (Main, 90), Adomah.
Subs not used: Steele, L. Williams,, Morris, Atkinson, Jackson.
Booked: Whitehead (79), Ayala (90)
Attendance: 16,661 (1,086)