After four birdies in the first 11 holes, he gave away three bogeys between 13th and 17th and finished at one-under 71 to slip from overnight tied 14th to tied 26th.
Amateur Paul Dunne, South African Louis Oosthuizen and Australian Jason Day shared the lead at 12-under.
Overnight leader Dustin Johnson was still at 10-under and had three holes to play.
Beginning his round in style, Lahiri continued his superb march when he returned to the course after a day's gap, caused by an 11-hour disruption due to high-speed winds at the Old Course at St. Andrews.
Also Read
Lahiri opened with a birdie on the first and then quietly parred the next two before slotting another on the fourth. Four more steady pars were followed by a third birdie on ninth as he turned in an excellent three-under. A fourth birdie came on 11th.
When he was four-under for the day and nine-under for the tournament, Lahiri was inside top-five for a brief period. Then others began catching up and later Lahiri slipped.
He began the back-nine well with a birdie on the par-three 11th and bogeyed the 13th after missing the second putt, which was a two-footer.
After the missed putt on 13th, the disappointment carried onto the next hole and he bogeyed the 14th, too.
"I have played just one hole badly, the 14th. When you hit the trap you take a bogey. I played well. I just missed one green and I needed 35 putts. That's not a good sign," he said.