India were fighting back after Australia gained a 97-run innings lead on the back of another century from new skipper Steve Smith and a wagging tail in the second Gabba Test on Friday.
The tourists had cut the deficit back to 26 runs by the close on the third day at 71 for one with Shikhar Dhawan on 26 and Cheteshwar Pujara not out at 15.
The day belonged to the Australians, trailing by 187 runs at the start but piling on 258 runs for the last four wickets with Smith leading the way.
Smith posted his second ton of the series and Johnson a swashbuckling 88 off 93 balls to give Australia the edge to win the Test over the closing two days and take a 2-0 lead in the four-match series.
Smith and Johnson shared in a ground record 148-run stand for the seventh wicket to take the steam out of the Indians.
Mitchell Starc chipped in with 52 off 59 balls, Nathan Lyon hit 23 and Test debutant Josh Hazlewood cracked an unbeaten 32 to frustrate India’s attempts to wrap up the innings.
Starc bounced back from his indifferent bowling in the first innings and struck a major blow with the wicket of Murali Vijay for 27 in the 11th over of India’s second innings.
Vijay, who had scored three consecutive half-centuries including 144 in the first innings in Brisbane, was in two minds whether to play only for the ball to strike his bat and hit the stumps.
The day’s highlight was Johnson’s game-changing innings, which finished tantalisingly short of his second Test century when he was caught behind off Ishant Sharma for 88 off 93 balls with 13 fours and a six.
Smith followed five balls later when he was finally dismissed in the series for 133.
He inside-edged Sharma onto his stumps to end a 303-minute vigil. It had taken India 704 minutes to finally get Smith`s wicket over three innings.
Smith scored 162 and 52 in last week’s Adelaide Test win and continued to be the bane of the tourists with another consummate knock.
Smith, who took over the captaincy after Michael Clarke injured his right hamstring in the first Adelaide Test, was the fifth Australian skipper to score a century in his first Test as captain.
Monty Noble, Clem Hill, Lindsay Hassett and Greg Chappell all scored hundreds in the first innings of their debut Test as skipper with Chappell the last against the West Indies at the Gabba in 1975.
India began the third day well with two wickets inside the opening hour but Johnson’s lusty hitting quickly swung the game Australia’s way.
India’s tactics of sledging and bowling short to Johnson back-fired as it only served to energise him and attack the bowling.
The dramatic turnaround came after the dismissals of Mitchell Marsh and Brad Haddin inside the first hour of play.
Marsh did not offer a shot and was bowled for 11 by Ishant Sharma, probably expecting a higher bounce.
Speedster Varun Aaron produced a vicious throat ball on his first delivery after drinks that Haddin could only fend away to bat-pad where Pujara took an easy catch for six.