India put up a much improved effort with the ball in the afternoon session, bouncing back to reduce Australia to 145 for three at tea on day one of the second Test here on Friday.
At the break, Shaun Marsh (8 not out) and Peter Handscomb (4 not out) were at the crease.
Jasprit Bumrah (1-29) and Umesh Yadav (1-48) struck during a tight spell in the second hour of play after lunch, while part-time spinner Hanuma Vihari (1-10) etched out a wicket with a surprise bouncer as well, with Australia losing three wickets for 22 runs.
Post lunch, Marcus Harris (70) brought up his maiden Test half-century off 90 balls as he took his opening stand with Aaron Finch (50) to 112.
Their 100-stand had come up in the 34th over, with India leaking another 48 runs in the hour's play after the break. Mohammed Shami (0-37) conceded 23 runs in his four-over second-spell after lunch.
Finch too reached his second Test half-century off 103 balls as Australia reached a position of strength.
But things turned thereafter as Bumrah struck first up in the 36th over, trapping Finch lbw with a fuller delivery.
The big moment came soon after when KL Rahul dropped Harris (on 60 not out) off Shami in the 45th over, with the fielder failing to time his jump at second slip.
It didn't cost India too much though as four overs later, he hit a surprise bouncer from Vihari straight at Ajinkya Rahane at slip. He only added 10 runs for the chance given.
In between, Yadav used the pressure built and etched out Usman Khawaja's (5) wicket, out caught behind in the 46th over as India gained the fruits of their hard work in this second hour of play.
In the morning session, Australia defied a green-top wicket and made steady progress to reach 66-0 at lunch.
This was after the hosts won the toss and opted to bat. Australia named an unchanged eleven from the first Test, while India made two changes.Vihari and Yadav came in for the injured Rohit Sharma and R Ashwin, as India fielded an all-pace attack for only the third time in their Test history.
The Perth wicket at the Optus Stadium was talked up a raging green-top wicket, but the Australian openers defied all that speculation. For their part, Indian pacers chipped in with all possible help and bowled a poor first spell with the new ball.
Ishant Sharma (0-19) started with a delivery down leg as the first Test ball to be bowled at this ground. It didn't change much for this first spell of four overs as he sprayed the ball all over. He seemed to be more concerned about not bowling any no balls, than maintaining an attacking line first up.
At the other end, Bumrah was bowling short of length, even if he bowled quicker than Ishant. This new ball pairing proved expensive and wasteful as Yadav came on as first change in the ninth over.
The Australian opening pair was cruising at this stage with 45 runs coming in the first 11 overs and the hosts went to drinks at 47-0 in the first hour of play.
Shami was India's best bowler of the first session and bowled with immaculate control from the very beginning. He came on to bowl in the 12th over and immediately troubled the batsmen.
Finch survived an lbw shout on account of height as India wasted a DRS review. They had another loud shout turned down on the very next ball, but this time no review was taken.
The opening pair brought up their 50-partnership off 90 balls in the 15th over of the morning.
India bowled better in the second hour of play and conceded only 19 runs in 13 overs. But the damage had already been done as the duo was set and the new ball had been wasted on a fresh pitch.
India had won the first Test in Adelaide by 31 runs to take a 1-0 lead in the four-match series.