It was the third batting meltdown in a row for the hosts, who were dismissed for 105 and 107 in the opening test in Pune during a 333-run loss inside three days. India had posted three consecutive totals of 600-plus before this series.
In a 16-over spell either side of lunch, Lyon dismissed Cheteshwar Pujara, India skipper Virat Kohli and Ajinkya Rahane on a pitch that had offered extra bounce and turn for the slow bowlers.
The 29-year-old returned for his second spell after tea and added five more wickets to finish with the best figures by a visiting bowler in India, whose hopes of levelling the series suffered a big setback.
Australia openers David Warner and Matt Renshaw then piled on the misery by staying unbeaten on 23 and 15 respectively to take their side to 40 without loss at the close.
Warner was dropped on nine by Rahane at gully off paceman Ishant Sharma to complete a wretched day for the world's top-ranked test side.
Kohli made a good start when he won the toss and opted to bat but paceman Mitchell Starc soon had the hosts on the back foot when he dismissed Abhinav Mukund, a replacement for injured Murali Vijay, in the third over.
[caption id="attachment_50414" align="aligncenter" width="640"]
India's Lokesh Rahul plays a shot against Australia REUTERS
Playing his first test in almost six years, Mukund's scoreless innings lasted eight deliveries with the left-handed batsman missing a full toss from Starc to be given out lbw.
Australia captain Steve Smith waited seven overs before handing the ball to left-arm spinner Steve O'Keefe, whose 12-wicket haul in Pune helped the tourists cruise to victory.
O'Keefe should have captured Rahul's wicket but Peter Handscomb dropped a low chance to his left at short cover to reprieve the batsman on 30.
Rahul played some loose shots but also entertained the sizeable crowd with crisply driven boundaries in his 90. He was dropped again on 61 by Warner at leg slip off Lyon.
Pujara rarely looked troubled in his innings of 17 before he got an inside edge off Lyon on to his pads and this time Handscomb held on to the catch at short leg to end a 61-run second-wicket stand.
Kohli started strongly with two cover driven fours but he was given out lbw for 12 without playing a shot to a straight delivery and his attempt to overturn the decision on review proved futile.
Rahane was out for 17, stumped by Matthew Wade while Karun Nair, who replaced spin bowling all-rounder Jayant Yadav in the Indian team, fell for 26 in similar fashion to O'Keefe.
India lost their last five wickets for 15 runs - all to Lyon - including that of Rahul, who holed out trying to hit a big shot in his quest to get to his hundred.
Australia 40 for 0
(Warner 23*, Renshaw 15*) trail India 189
(Rahul 90, Lyon 8-50) by 149 runs