Lahiri (69-71) at four-under 140 is now tied-15, up from overnight tied-20th.
He handled the tough and windy day, when winds went up to 35 miles an hour, with five birdies against four bogeys. Lahiri, who shot 69 in the first round, carded 71 in the second to get to four-under 140.
The sole leader was Luke List (68-67), who was bogey free He is searching for his maiden win on PGA Tour.
One behind List were Lucas Glover (69-67) and Scott Brown (66-70).
More From This Section
Overnight leader Justin Thomas (74) who shot nine-under 63 on the first day, slipped to tied-4th at seven-under 137.
Lahiri got off to an awful start with bogeys on first two holes, but then settled down to some good play. It ended with two fine birdies on the last two holes for a round of 71. After bogeys on first and second Lahiri birdied sixth and ninth.
On the back nine, he dropped shots on 10th and 13th, but had a birdie on 12th. He finished with birdies on 17th and 18th and Friday saw him birdie three of four Par-5s.
"But I just fought my way back. I'm really happy with the way I stayed calm. The conditions are such that it's easy to get on a bad run. Those last two birdies were very important. Keeps me in the event," Lahiri said.
The day's best card came from Noh Seung-yul, whose 65 with five birdies and an eagle saw him move to 77th place to 41st.
The 32-year-old leader List, who joined the Tour in 2013, is still without a win, but has won on Web.Com Tour.
Glover had seven birdies and two bogeys and shared second spot with Scott Brown, who had a 70.