The flat Ulsterman was flirting with the cut line in his rain-delayed second round after making only one birdie in his previous 22 holes at the Bellerive Country Club.
And the World No5 was in danger of running up a big number at the par-four No14 when another poor short iron shot saw him miss the green from only 151 yards.
But from a bad lie in thick rough, he produced a superb flop shot from 12 yards which curled into the cup to spark great celebrations in St Louis.
McIlroy, who had been on one-under par, picked up another shot at the 17th to card a 67 despite struggling with his swing.
“The 14th gave me some momentum – it seemed like the only way I was going to make birdie out there was either to hit it to tap-in range or chip-in,”
McIlroy said. “It was nice to shoot three under this morning and get in at least a little closer.”
His playing partner Tiger Woods got on a roll on Friday afternoon as he made three birdies in his opening seven holes – and picked up another shot at the 8th in his first hole yesterday morning.
But bogeys at 10 and 12 meant he had to settle for a 66.
“I missed two short ones there from six to eight feet – and that stemmed my momentum,” Woods said.
After 36 holes, there were 22 players within six shots of leader Gary Woodland but Sergio Garcia was heading home after missing his fifth consecutive cut in a Major.