The American left-hander fired a sparkling five-under-par 65 in the third round at the TPC Southwind, ending the day five shots off the pace after starting it eight strokes adrift.
"I've played better each round and I'm encouraged by that," four-times major winner Mickelson told reporters after mixing an eagle at the par-five third with six birdies and three bogeys to post a seven-under total of 203.
"I could really get some glimpses of my game getting where I want it. Hopefully, I'll put together a really low round (on Sunday) and catch the leaders."
Mickelson made a stumbling start on Saturday with a bogey at the first but immediately rebounded with a birdie at the second, where he sank a slick 20-foot putt, and an eagle at the third, where he reached the green in two and rolled in an eight-footer.
"The putt on two was bigger," the 42-year-old said of the momentum gained from his first birdie of the day. "It was going pretty quick but it ended up catching the middle of the hole and going in."
Mickelson picked up further shots at the sixth and eighth, but then a bogey at the ninth to reach the turn in three-under 32.
He did well to save par at the 12th, sinking a 14-footer there, before covering his last five holes in birdie-bogey-birdie-par-birdie to finish five strokes behind tournament leader Shawn Stefani, a PGA Tour rookie at the age of 31.
Stronger winds have been forecast for Sunday's final round and Mickelson expects some of the pin positions to be tucked away in tough spots as he bids for his 42nd victory on the U.S. circuit.
"I feel like I'm playing well enough where I can go out and shoot a low round tomorrow," said Mickelson, whose most recent PGA Tour win came at the Phoenix Open in early February.
"I expect the course to play different tomorrow than it did today. Today was set up for moving day. The tees were up, the pins were in easy spots, no wind. I'm looking forward to tomorrow's final round."
The U.S. Open, the second of the year's four majors, will be played at Merion in Ardmore, Pennsylvania from June 13-16. (Reporting by Mark Lamport-Stokes in Los Angeles; Editing by Gene Cherry)