India’s 19-Test unbeaten run was emphatically ended as Australia beat them by 333 runs in the first of a four-match series.
Australia had a first-innings lead of 155 runs after bowling their hosts out for 105 in Pune.
The tourists scored 285 in the second innings, setting India a record target of 441 to win.
However, India were all out for 107 as they lost inside three days, with left-arm spinner Steve O’Keefe taking 6-35.
On a turning pitch, O’Keefe also took 6-35 in the first innings, while fellow spinner Nathan Lyon snared five wickets in total – with figures of 4-53 in the second innings – as Australia’s spin duo outperformed their Indian counterparts.
Visiting captain Steve Smith also played a key part in the victory as he scored 109 in the second innings, his maiden Test century in India.
The win was Australia’s first in India since 2004.
“I’m really proud of how boys have performed,” said Smith. “O’Keefe was absolutely outstanding in the match.”
India captain Virat Kohli was critical of his team, describing it as their “worst batting display in two years”.
“We got outplayed in this match. We have to take it on the chin,” he added.
“We never took them for granted but we were never good enough during the three days.”
India, the top-ranked Test team, have not lost a home Test series since 2012 and the second match starts in Bangalore on Saturday, 4 March.