Willett is on nine under, just one shot behind Johnson, who has recent history on his side as he looks to end his run of major misery with victory in the Open, which will finish on a Monday for just the second time.
A delay of 10-and-a-half hours forced the R&A to extend proceedings into a fifth day for the first time since Royal Lytham in 1988.
After a 7am restart on the Old Course, Johnson had seen his ball roll off the 14th green in winds gusting up to 45mph during the 32 minutes of action possible before play was suspended.
But when play eventually resumed at 6pm, the 31-year-old American completed a second round of 69 by driving the 18th green and two-putting for birdie to finish 10 under par, one ahead of Sheffield’s Willett - who finished his 69 on Friday - and two clear of 1999 champion Paul Lawrie.
Australia’s Jason Day and 2010 champion Louis Oosthuizen finished seven under par to join Friday finishers Marc Warren, Zach Johnson, Adam Scott and Robert Streb in joint fourth, with world No 2 Jordan Spieth two shots further back after a second-round 72.
“This morning when we started it was almost impossible, but I managed to hang in there and then when we just went out and restarted it was very tough, but managed to make some good pars and then birdie the last hole,” said Johnson. “So it was a good way to finish the day.”
Asked about the incident on the 14th, where his ball was blown down a slope towards that of playing partner Spieth, Johnson added: “Fortunately it happened in kind of the end part of the second round, so we’ve still got a lot of golf to play, so it is what it is. Can’t do anything to change it.
“When I went up to mark it I got probably an inch from the ground. My coin was about to hit the ground when it took off. Then I went to mark it again and I think it took off again. And then Jordan was running to his ball. It was pretty funny.”
The last seven major winners have led or shared the lead after 36 holes, but Johnson has already let several chances slip through his fingers.
He held a two-shot lead early in the final round of the US Open last month but failed to convert an eagle attempt from 12 feet on the 72nd hole to claim the title and missed the return from four feet to miss out on a play-off with Spieth.
The world No 4 also took a three-shot lead into the final round at Pebble Beach in 2010 but collapsed to a closing 82, while a two-shot penalty for grounding his club in a bunker on the 72nd hole of the US PGA two months later cost him a place in the play-off.
Masters and US Open champion Spieth, who is chasing the third leg of an unprecedented calendar grand slam, did not think play should have started at 7am, but was also furious with himself for five three-putts in his round.
“It was an interesting round that took a lot of time, but it’s nice to look back on Saturday evening and instead of being five shots back with one to go, I’ve still got two full rounds, so anything can happen here,” the 21-year-old said.
“I believe I’m still in contention. I still believe I can win this tournament. I need a really solid round tomorrow, though, because Dustin is not letting up.
“Dustin is going to shoot a good round tomorrow with less wind and I’m going to need to shoot a great round to really give myself a chance.
“To fall from two back to five back isn’t exactly what I wanted, but it could have been worse, could have been better. If I can shoot something like 10 under in the last two rounds, I think I’ll have a chance to win.”
Asked about the pressure of trying to win a third straight major title, Spieth added: “When we’re out on the course inside the ropes, it’s just another event, and I’m working as hard as I can to get into contention and beat the best players in the world.
“I understand where we’re at off the course, but it doesn’t do any good thinking about that. It does better for me focusing on the task at hand. That’s what we did in the first two majors.”