O'Keefe was again the wrecker-in-chief again grabbing 5 for 33 to add to his first innings 6 for 35 that has left India on the brink of suffering their first defeat at home in 21 Tests since the Kolkata game against England in 2012.
India require 342 runs with only four wickets in hand and no one is expecting a miracle with all the top batsmen barring Cheteshwar Pujara (31 batting) back in the hut.
For India, the batsmen out in the Indian second essay, apart from Kohli, were the two openers Murali Vijay (2) and first innings top-scorer K L Rahul (10) both wasting DRS when it was Umpires' call.
Ajinkya Rahane (18) and Saha (5) were also dismissed cheaply.
Also Read
Vijay and Rahul both were trapped leg before, by O'Keefe and Lyon respectively and also foolishly decided to go in for DRS when both appeared to be caught plumb in front, leaving India without any DRS calls after 5.3 overs when they had slumped to 16 for 2.
Kohli and No 3 Cheteshwar Pujara, who looked the most assured of the top order in handing vicious turn, took the score along to 47 when the India skipper, expecting the ball to turn, offered no shot and O'Keefe's delivery held its line and hit the off stump.
Rahane was out on the drive, caught by Lyon diving forward at short covers, to give O'Keefe his third wicket of the innings and ninth of the game.
(REOPENS DEL 5)
Smith, given multiple lives, compiled his first hundred in this country and of the series itself as Australia tightened the noose around a dispirited and deflated India.
Australia, ahead by 155 runs on the first innings, were dismissed by the hosts for 285 in the extended first session to leave India a daunting and record target of 441 to chase and go 1-0 up in the four-Test rubber.
Smith curbed his natural attacking instincts to slowly and steadily inch his way to 109 in 255 minutes and 202 balls, inclusive of 11 fours, when he was trapped leg before by Ravindra Jadeja for his second wicket of the morning.
However, by the time of the visiting team's skipper departure at 246 the Australian lead had swelled past the 400 mark - a huge one by any reckoning that looks impregnable on this treacherous pitch.
Jadeja sent back Marsh for 31 and Stephen O'Keefe for 6 to terminate the innings and end up with innings figures of 3 for 65 while Ashwin's analysis read 4 for 119.
Umesh Yadav, the only other successful bowler, finished with 2 for 39 to add to his 4 for 32 in the first innings. Shoulders of the Indian team members started to droop as the 27-year-old Smith used the fielders' largesse and a few umpiring error to inch his way to his hundred.
It was the fifth consecutive hundred for the Sydney-born Smith in Tests against India and it took him 187 balls to complete the feat which included 11 fours. His superb effort has effectively shut the door on the Indians in their pursuit of taking a 1-0 lead in the four-game rubber.
The butter-fingered Indian fielders, who dropped Smith on 27 and 37 yesterday, continued to grass him as Ajinkya Rahane failed to latch on to a sharp chance at leg slip when he had added 7 runs to his overnight total.
On 73 Smith again got a lucky break when umpire Richard Kettleborough of England ruled him not out when he was trapped right in front of the stumps by Ravindra Jadeja, to the chagrin of the hosts who had frittered away both their reviews at this stage.
This was soon after Jadeja had struck the first blow of the morning when he removed the other overnight not out batsman Mitchell Marsh who edged him to Saha behind the stumps after making 31 in 76 balls.