Australia crumbled like a house of cards and lost the last six for a mere 11 runs between overs 26th and 36th
Ravichandran Ashwin's 25th five-wicket haul was the cornerstone of India's remarkable turnaround as the hosts defeated Australia by 75 runs in the second cricket Test to level the four-match series 1-1 in Bengaluru.
Defending a competitive target of 188 with the Border-Gavaskar Trophy on line, Ashwin was unplayable on a tricky fourth-day surface with magnificent figures of 6 for 41. Australia ended up decimated for 112 in only 35.4 overs.
Just like Indian wickets fell in Pune, Australia too crumbled like a house of cards and lost the last six for a mere 11 runs between overs 26th and 36th.
With their backs firmly against the wall, it was a battle of attrition for Kohli and his boys after their humiliating loss in Pune.
It turned out to be a collective effort in the end with KL Rahul (90 and 51), Cheteshwar Pujara (92) and Ajinkya Rahane (52) doing their bit with the bat. Not to forget an invaluable 20 runs from Wriddhiman Saha.
After a bad run in Pune, Ashwin (8 wickets) and Ravindra Jadeja (7 wickets) accounted for 15 out of the 20 wickets.
The pitch, which deteriorated with each passing moment, made the target of 188 look as big as 350. Only skipper Steven Smith (28) and Peter Handscomb (24) were the only batsmen to cross 20-run mark for Australia.
Till the 10th over of the chase, things looked good for Australia as they were 42 for 1, losing only Matt Renshaw (5) who got an unplayable delivery from Ishant Sharma.
David Warner (17) got a leg before decision off Ashwin's bowling going against him. Warner reviewed it unsuccessfully. Umesh Yadav (2/30 in 9 overs) then produced the double break with Shaun Marsh (9) getting one to come back after hitting one of those ever widening cracks. Smith got a shooter that didn't even rise enough hitting him on the boot.
It was plumb and Smith, trying to get a clue from the dressing room beyond his 15-second time, got into a brief altercation with rival captain Kohli.
Mitchell Marsh (13) and Peter Handscomb (24) added 27 runs and tried to stem the rot during their fifth wicket partnership.
This was the time when Ashwin, coming for his second spell, ran riot dismissing Marsh, Matthew Wade and Mitchell Starc in quick succession.
Once it was 103 for 7, the game was all over for Australia. The third Test will be played in Ranchi from March 16.
Ashwin's three-wicket burst literally ended any hopes that the Australians had prior to that.
Mitchell Marsh's delivery spun and jumped taking his glove to Karun Nair at short leg.
Wade's wicket was as much as Wriddhiman Saha's as it was Ashwin's. The wicketkeeper flew from his position to snap it up from the short leg where the ball had lobbed.
The dangerous Starc was removed when an Ashwin straighter breached his defences.
Handscomb, a gritty customer needed support at the other end but there wasn't much that the Australian tailenders could have done on a surface like that.
Steve O'Keefe hung around for 10 balls before he got one from Jadeja that held its line.
Handscomb's patience gave away as he gave Saha the charge only to get a thickish edge to Saha as Ashwin completed his 25th five-wicket haul.
India finally completed a hard-earned win when Lyon was fooled by the flight and a simple return catch was all Ashwin needed to latch onto.
Earlier, Australia wrested the initiative with six wickets for 36 runs at the start of the fourth day with India being bowled out for 274 in their second innings.
Josh Hazlewood (6/67) and Mitchell Starc (2/74) were the wrecker-in-chiefs in the first session of the fourth day's play at the M Chinnaswamy Stadium, cutting short India's second innings at 274 in 97.1 overs.
India had scored 189 in first innings after opting to bat. In reply, Australia scored 276 in their first innings, taking a lead of 87 runs.
Hazlewood bowled his heart out with the second new ball, which was taken after 80 overs. Trailing 0-1 in the four-match series, India were overnight 213 for four with Cheteshwar Pujara, who would eventually fall for 92, batting on 79.
Hazlewood took the prize wickets of Abhinav Mukund, skipper Virat Kohli and Ravindra Jadeja yesterday and dismissed Pujara, Ravichandran Ashwin (4) and Umesh Yadav (1) in the fourth morning.
Bowling in tandem with Hazlewood, Starc rattled the Indian middle order by bagging the wickets of a well-set Ajinkya Rahane (52) and Karun Nair (0) off successive balls.
The last wicket was taken by Stephen O'Keefe when he removed Ishant Sharma for six off 28 balls, ending a dogged 16-run partnership.
Pujara and Rahane added 25 runs this morning before Rahane was trapped in front of the wicket by Starc.
Local lad Karun Nair, who had scored a brilliant triple century against England, failed for the second time in front of his home crowd as he was cleaned up by Starc.
Pujara was next to go as he was caught at gully by Mitchell Marsh off Hazlewood with the total reading 242 for seven.
In the same over, Ashwin was cleaned up by Hazlewood, and Ishant Sharma and Umesh Yadav did not survive long.