McIlroy started the day four shots back at eight under par but birdied the first and then had an eagle three at the par-five second to virtually eradicate Spaun’s advantage.
After a bogey at seven, he joined the leaders with a birdie at the eighth and remained in top spot, despite persistent challenges from Spaun and fellow Americans Akshay Bhatia and Tom Hoge.
He seized solo first place with a tremendous 14-foot birdie putt on the 11th just moments before play was suspended at 17:15 GMT because of the risk of lightning.
When play finally resumed four hours later, McIlroy immediately raced into a three-shot lead with a birdie at the 12th while Spaun bogeyed the 11th.
A ragged bogey at the 14th allowed Spaun to close the gap as the tension increased around this famous course.
The four-time major winner then missed short birdie chances at the 15th and 16th with Spaun joining him at 12 under with a tap-in birdie on the par-five 16th.
The 34-year-old American showed great touch on the green to navigate the infamous island hole 17th in par, while McIlroy managed to two-putt from 70 feet on the 18th, puffing out his cheeks with relief as his four-foot par putt sank amid the gloom.
Spaun’s approach to the last also came up short, leaving himself 30 feet to win a career-changing title. He looked devastated as his ball stopped inches short of dropping into the hole.
He will get a second chance though. After a marathon Sunday, he will join McIlroy on the 16th tee on Monday for a three-hole play-off.