Lahiri, who made the cut narrowly, moved up to tied 29 at one stage before he dropped down and finally ended the day at tied 51st.
He opened with birdies on second and third but suffered a double bogey on Par-4 sixth, before recovering with a birdie on seventh. He bogeyed the eighth again and turned in even par 36. On the back nine, birdied 10th and 11th and then he landed a superb eagle on Par-5 15th. Two pars later, he got a bad break on 18th and ended with a bogey for a 69.
"I played really well, but got a few bad breaks and some misses. On the 18th, my ball hit the tree on the edge of the fairway and got stymied. I could do little," he said.
About the week as such, he added, "It has been a week of what could have been. I am a bit tired, though. I will rest and try to make the most of the final round."
Matt Kuchar shared the 54-hole lead with Gary Woodland (69) and William McGirt (64). Kuchar rallied from a rough start and wound up with a two-under 70 to join Woodland and McGirt at 14-under 202.
Twenty players were separated by four shots. Eight of them have never won on the PGA TOUR. Three of them can avoid US Open qualifying if they were to win.
Jason Day, a Muirfield Village member, ran off two quick birdies to get within one of the lead, only to watch a chip roll back past him into the fairway on the 18th hole for a double bogey and a 68. He was three shots behind.
Rory McIlroy was making headway until he dropped a shot at the last for a 70 that put him five back.
Jordan Spieth, after two quick birdies, went through a stretch of poor swings and missed putts, and dropped four shots in a six-hole stretch. He had a 74 and was 10 behind.
Emiliano Grillo had the lead at 15-under when there was a two and a half hour delay and he promptly made double bogey on return. Grillo was at 13-under 203, along with Adam Hadwin (67), Jon Curran (68) and Dustin Johnson, who returned from the delay to tap in a short birdie putt for a 68.
The starting times were moved up for Sunday with players going off both tees in an effort to beat more bad weather in the forecast.