The India number three was a rock as his partners crumbled around him, pushing India to 250 for nine at the close with a brutal assault on the second new ball.
Unbroken by fierce pace bowling, Pujara was dismissed by a piece of brilliant fielding, with Pat Cummins throwing down the stumps to leave the batsman well short of his ground.
Tail-ender Mohammed Shami survived to stumps on six, with Jasprit Bumrah the last batsman to resume on day two.
It was nonetheless a positive finish for Virat Kohli’s side who had slumped to 86 for five after lunch, falling to a combination of dreadful shot-making and fierce Australian pace after winning the toss.
Pujara anchored vital partnerships with young wicketkeeper Rishabh Pant and Ravichandran Ashwin before completing his 16th test century with a flick off his pads after scoring his 5,000th run in tests.
India resumed on 143 for six after lunch with seamer Cummins having Ashwin edge to the slips and Mitchell Starc bowling Ishant Sharma for four.
Spinner Nathan Lyon struck twice to expose India’s tail after lunch, having Rohit Sharma slog-sweep to a fielder for 37 before Pant fell for 25 feathering an edge behind.
India had lost 41 for four in the morning to Australia’s fired-up seamers, with Usman Khawaja taking a brilliant one-handed catch to remove Kohli for three after both the openers fell cheaply.
“Stuck my hand out and it stuck. It’s nice when they do stick,” said Khawaja.
“It was a good little momentum-goer too, because we got a couple of early ones ... and we got a few more so it was nice.”
Seamer Josh Hazlewood grabbed two wickets in the morning session, removing Ajinkya Rahane (13) and the out-of-form Lokesh Rahul (two).
Starc removed Murali Vijay for a streaky 11, the recalled batsman edging another rash shot behind to Tim Paine.