Holding a two-stroke lead after playing the first 16 holes in 5 under, Rahm hit a spectator with his second shot at No. 17 - though this did stop his ball going out of bounds. The world No. 6 pitched to 10 feet and three-putted for bogey.
Rahm was also close to driving out of bounds at the 18th hole, too, and needed to take a drop. He holed from 20 feet for an unlikely par while Willett got up and down from a greenside bunker for a birdie to match his playing partner's 4-under 68.
"Man, those last two holes made it feel a lot worse than it really was," Rahm said. "I was really in control of my game and playing good. It was not the finish I was looking for - I might have lost a bit of focus, looking into the future instead of staying in the present."
Rahm and Willett, who also shared the second-round lead, were on 15 under overall and had a three-shot lead over Justin Rose (69), Shubhankar Sharma (66) and Christiaan Bezuidenhout (69). Richie Ramsay and Rafa Cabrera Bello (both 67) were two shots further back.
Rahm was among the players who waited beside the 18th green on Friday as Spanish compatriot Jose Maria Olazabal completed his 25th and final appearance in the event. The 24-year-old Rahm can join Olazabal, Seve Ballesteros, Miguel Angel Jimenez, Ignacio Garrido and Manuel Pinero as a Spanish winner at Wentworth.
Willett recovered from a bogey on the first, making six birdies to remain on track for a seventh European Tour title - and a first on home soil.
"This is our biggest tournament of the year for us British guys. It's a massive event," Willett said. "I've been here 10 straight years and I love the place. The crowds are amazing.
"I've won all around the world and it would be amazing to polish one off in front of a home crowd. It's going to be a pretty tough battle out there."
Rory McIlroy, who made the cut on the number, shot 65 to equal his lowest score at Wentworth. It left him nine shots off the lead.
"I will give it a go, for sure, and you never know," said McIlroy, the 2014 champion. "But at the same time, I'm a realist. I know I won from seven back five years ago and I feel like that's something that happens maybe once in your career."
Another rare event was Ross Fisher making an albatross after holing a 4-iron with his second shot to the 18th from 225 yards. Not only did it complete a remarkable back nine of 29 for a third-round 66, the English player won a BMW i8 Roadster worth 130,000 pounds ($160,000).
"I thought I'd pulled it so I looked away and the crowd's reaction told the rest of the story," Fisher said. "To win the car is still a bit shocking."
More AP golf: https://apnews.com/apf-Golf and https://twitter.com/AP_Sports
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.