Rory McIlroy was two shots off the pace heading into the final round at the Wells Fargo Championship after carding a three-under 68 on a rain-hit third day in Charlotte.
The Northern Irishman, celebrating his 30th birthday, shared the top spot after an opening 66 but had to settle for a 70 in round two.
Quail Hollow saw two rain delays on day three, each lasting just over an hour, but that did not dampen the spirits of the crowd who greeted McIlroy with a rendition of Happy Birthday at the first tee.
— PGA TOUR (@PGATOUR) May 5, 2019
The four-time major champion parred his way through the first six holes and made his first birdie of the day on the par-five seventh, reaching the turn at one under.
Three more birdies and just one dropped shot followed on the back nine as McIlroy headed back to the clubhouse on nine under. He is aiming to win the event for a third time.
"This golf course really rewards patience and rewards discipline. And I feel like I was both of those today," McIlroy told the PGA Tour website.
Dufner, the overnight leader, followed up his second-round 63 with a 71 after making back-to-back bogeys through holes 11 and 12.
The former US PGA champion recovered with birdies on the 14th and 15th to move to 11 under.
Homa and Dahmen, who mixed a double-bogey with an eagle, four birdies and three bogeys, both signed for a 70 to sit alongside Dufner, with fellow American Pat Perez on 10 under.
England's Justin Rose was on eight under after a 68, with countryman Paul Casey a shot further back after a bogey-free 66 containing two eagles.
Irishman Seamus Power was also four shots off the lead.