Smith smashed 14 fours in his fine 111-run knock to become the first Australian skipper to hit three centuries in a Test series in India.
The 27-year-old also became only the second visiting captain to hit three hundreds in a series after England's Alastair Cook.
Picturesque Dharamsala set for epic final battle
The visitors squandered a promising start to be bowled out for 300 just minutes before the close of play after winning the toss and electing to bat first.
The Aussie looked firmly in control, having cruised to 131-1 at lunch but Kuldeep's scintillating spell meant the visitors lost their remaining wickets in the last two sessions.
At stumps, India had played out one over without scoring any runs.
With the series tied 1-1 going into the finale, the hosts must win the match to regain the Border-Gavaskar trophy.
India's ploy to keep chinaman bowler Kuldeep (4-68) under wraps and use him for the final Test paid dividends as he caught the Aussies by surprise through his guile and unorthodox spin.
India call Shami for final Test against Australia
Smith had put on 134 runs for the second wicket with David Warner (56) after Australia lost opener Matt Renshaw in the second over of the day.
The unassuming captain underlined his reputation as the world number one Test batsman, reaching his 20th century in the process and his seventh hundred in his last eight Tests against India.
Smith's efforts meant he remained on top of the batting chart in the series with a whopping 482 runs from seven innings.
He finally lost his wicket to spinner Ravichandran Ashwin, with Rahane taking another catch in the slip region.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ