Opting to bat on winning the toss, India got off to a good start when openers Murali Vijay (40) and Shikhar Dhawan (12) put on their second successive half century stand of the series.
But the loss of both the batsmen in the second hour before lunch followed by a dramatic collapse after the break left the hosts, who are leading 1-0 in the series, at a difficult 125 for 6.
Wicket-keeper Wriddhiman Saha (9) and Ravindra Jadeja (21) then remained unconquered at the end of the second session in which the home team lost four wickets for 64 runs.
Jadeja played some attacking shots against the spinners in his 26-ball unbeaten knock that contained four fours, while Saha was giving him watchful support at the other end.
Also Read
Morkel, lacking effective pace support at the other end in the absence of the injured Dale Steyn, was the most impressive of the bowlers and his tea figures read 3 for 27.
In the morning the home team lost Vijay and Dhawan to adjourn to the interval at 85 for 2.
Dhawan, denied strike for long, was lured out by Elgar soon after the 50 was raised in 13.4 overs and spooned a drive back to the left arm slow bowler who accepted a return catch to his right.
The left hander's 12 came off 23 balls and was his third low score in the series.
(REOPENS DEL 26)
Pujara was taken out by off-spinner Simon Harmer, who trapped him leg-before and later got rid of a struggling Rohit Sharma (2) as India slumped to 125 for 6 from 50 for no loss in 32.2 overs on either side of lunch.
On a wicket that already showed signs of offering significant turn, Dhawan fell for 12 after putting on a second successive half-century partnership with Vijay who made 40 before departing. Both the batsmen fell in the second hour of play.
Vijay, who had made his debut at this ground seven years ago against Australia, was sent back by Morkel in his second spell after the duo had carried India through the first hour of play without being separated.
Morkel came back for his second spell by changing ends to trap the opener bang in front with a full length ball that kept a bit low and struck the pads as the batsman tentatively pushed forward.