Johnson came into the weekend with a four-shot advantage but stuttered to a seven-over 77 on tough greens at Shinnecock Hills, on a day where none of the later starters were able to end the round under par.
Daniel Berger and Tony Finau posted matched 66s to get to three over before the leaders had even teed off on Saturday, but the pair ended the day tied for the lead on three over alongside Johnson and defending champion Brooks Koepka.
Johnson opened the door for the chasing by racking up a three-putt double-bogey at the second, before spraying his tee shot at the fourth into thick rough on his way to dropping another shot.
The world No 1 bogeyed the sixth to hand Henrik Stenson and Justin Rose a share of the advantage, with a three-putt at the seventh and missed 10-footer to save par at the next seeing him go two off the pace.
Stenson reached the turn bogey-free and with a one-shot advantage, only for Koepka to birdie the 11th and Johnson to roll in from eight feet on the same hole to make it a three-way tie at the top.
As Stenson racked up three straight bogeys from the 13th, Koepka drained a 60-footer to save par at the 14th but bogeyed the next to give Johnson the outright advantage.
Rose converted an eight-footer at the 15th to briefly get within one of Johnson but missed a putt from a similar distance at the next, while Koepka three-putted from 30 feet at the 17th to join the group on three over.
Johnson three-putted the final green to lose his outright advantage, while Rose also finished with a bogey-five to close a three-over 73. Stenson sits two off the pace, with Patrick Reed one of three players in the group on six over and Ian Poulter four off the pace following a six-over 76.
Phil Mickelson received a two-shot penalty for hitting a moving ball on his way to a third-round 81, while Rickie Fowler slumped to a bogey-filled 84.
Watch the final round of the US Open live on Sunday from 4.30pm on Sky Sports US Open and Sky Sports Main Event.