England’s victory, achieved despite Sachin Tendulkar’s fifty, gave them a 2-0 lead in this four-match series as they looked to knock India off top spot in the ICC’s Test Championship table.
Andrew Strauss’s side will replace India at the summit if they maintain or better their lead in the remaining two Tests.
India set a record victory target of 478, were bowled out for 158 with Tendulkar top-scoring with 56 but still left searching for an unprecedented and elusive 100th international hundred.
Bresnan, who earlier made 90 batting at number eight in England’s second innings 544, did the bulk of the damage with a maiden Test five wicket haul of five wickets for 48 runs in 12 overs – including two in two balls before tea.
Only three India batsmen made double figure scores on Monday’s fourth day, with Tendulkar the lone member of their powerful top order to achieve the feat.
No team has made more in the fourth innings to win a Test than the 418 for seven posted by the West Indies against Australia at St John’s, Antigua, in 2002/03.
Before lunch England, who won the first Test at Lord’s by 196 runs, saw off Rahul Dravid, who made 117 in India’s first innings, for just six when he was caught behind off a lifting delivery from man of the match Stuart Broad.
Venkatsai Laxman, another of India’s star batsmen, was then clean bowled by a superb James Anderson delivery for four.
Opener Abhinav Mukund, dropped on nought, struggled to three off 41 balls before falling to Bresnan’s fifth ball, a bouncer he gloved to first slip Strauss.
And Bresnan succeeded with the short ball again when Suresh Raina hit a hook straight to substitute Scott Elstone at long leg.
Tendulkar had struck some typically sublime straight drives off Anderson but he could do nothing as Bresnan, only playing in this match after fast bowler Chris Tremlett was injured, took two wickets in two balls.
First Yuvraj Singh gloved a rising delivery to Alastair Cook at backward silly point and was out for eight.
Next ball India captain Mahendra Singh Dhoni, inexplicably playing no shot, was lbw for a golden duck to leave the tourists 55 for six and Bresnan on a hat-trick at the start of his next over, which Harbhajan Singh survived.
Tendulkar square-cut Bresnan for four to complete his first fifty of the series with his eighth four before Harbhajan slogged opposing off-spinner Graeme Swann for six.
But Tendulkar fell when he was undone by a good length inswinger from Anderson, taking his wicket for the seventh time in eight Tests.
Harbhajan exited for 46 when a hook off Bresnan was caught by Elstone.
That wicket gave 26-year-old Yorkshire seamer Bresnan, in his eighth match at this level, a new Test-best, surpassing his four for 50 against Australia in Melbourne in December.
Broad ended the match by bowling last man Shanthakumaran Sreesanth for nought.
England resumed on Monday on 441 for six with Ian Bell having made 159 after being sportingly reprieved by Dhoni following his run out for 137 on Sunday when incorrectly assuming the ball had gone dead.
Matt Prior, again frustrating India, was 64 not out and Bresnan 47 not out.
Wicketkeeper Prior was out for 73 to end a seventh-wicket stand of 119 at nearly a run-a-ball when he was caught behind off Praveen Kumar, who led India’s attack with four for 124.
Broad, who’d top-scored with 64 in England’s first innings 221 and had then taken a hat-trick on his way to Test-best figures of six for 46 in India’s 288, followed up with 44 on his Nottinghamshire home ground.
But a ball after Broad was run out, Bresnan’s quest for a maiden Test hundred ended when he fended Kumar to Dravid in the gully.
Bresnan, whose Test-best score remains the 91 he made against Bangladesh in Dhaka last year, faced 118 balls with 17 fours.
The third Test starts at Edgbaston on August 10.