A stunning winner from Carlos Edwards lifted Sunderland back to the top of the Championship after a five-goal thriller featuring three penalties.
Jonny Evans (left) congratulates Sunderland match-winner Edwards
Daryl Murphy tapped in to put the hosts ahead before David Connolly's spot-kick was saved after he himself was fouled.
Andy Gray levelled from the spot after a foul on Wade Elliot, who then smashed in from 25 yards to put Burnley ahead.
But Connolly converted his second penalty when Edwards was felled before Edwards' angled drive sealed victory.
The winger also had a fierce drive saved by keeper Brian Jensen in injury time and Stern John trickled a shot just beyond the post before that as Sunderland pushed to make the win more comfortable.
But for a while it had been edge-of-the-seat stuff for the home fans, who had to watch their team come from behind as Burnley threatened to upset Roy Keane's side.
In the end, though, Sunderland's victory was just about deserved, and provided a huge boost to their hopes of automatic promotion.
They move two points ahead of Birmingham, who have played a game less and entertain Sheffield Wednesday on Saturday.
Sunderland will head to Luton next weekend knowing victory will guarantee their return to the Premiership.
Sunderland boss Roy Keane:
"The game summed up our season. We gave away one or two soft goals but the players showed great character, determination and desire.
"It keeps it in our hands. A draw or loss tonight would have put Birmingham and Derby back in the driving seat.
"We're not depending on anyone now. We'll be ready for Luton next weekend."
Burnley boss Steve Cotterill:
"The referee wanted to give penalties tonight. They were soft penalties. The only penalty might have been their second one, potentially.
"I do not know what he gave their first one for. I don't know whether ours was a penalty, if I am honest.
"But their first one, Wayne Thomas must have sneezed on him."
Sunderland: Ward, Simpson, Nosworthy, Evans, Collins, Edwards, Whitehead, Liam Miller (Leadbitter 73), Stokes (Hysen 71), Murphy, Connolly (John 86).
Subs Not Used: Fulop, Yorke.
Booked: Liam Miller, Edwards.
Goals: Murphy 14, Connolly 54 pen, Edwards 80.
Burnley: Jensen, Duff, Thomas, Caldwell, Harley, Elliott (Spicer 73), Djemba-Djemba, McCann (Gudjonsson 29), Jones (Akinbiyi 58), Gray, McVeigh.
Subs Not Used: Coyne, Coughlan.
Booked: Duff, Djemba-Djemba, Gudjonsson.
Goals: Gray 39 pen, Elliott 50.
Ref: T M Kettle (Rutland).