Hamlin had led the race in the opening stages before clipping Jimmie Johnson's Chevrolet as the Hendrick Motorsports' driver was collected when Austin Dillon suffered a puncture.
While Hamlin's fender damage was repaired, his race further unravelled when he suffered a loose wheel in stage two, pitting one lap prior to a caution period and subsequently dropping to two laps down.
He recovered to the lead lap with a free pass at the end of the stage, working his way back into the top 10 for the final restart with one fifth of the 500 lap race remaining.
While Hamlin surged through the field, DiBenedetto drove around the outside of points' leader Kyle Busch at Turn 3 and then passed Erik Jones as he slid into the wall at Turn 3, bagging the race lead.
Hamlin eventually caught DiBenedetto to set up a duel for the win in the final 20 laps, with the JGR driver making the race winning pass with just 12 laps to go to take his fourth win of the 2019 season.
DiBenedetto, who is searching for a 2020 Cup seat having announced on Thursday that he will not be retained by the Leavine Family Racing team, ended up second for his fifth top five of the season and beating his previous career best result of fourth.
Brad Keselowski finished third for Penske, ahead of JGR's Kyle Busch.
Wrong-footed in qualifying and lining up 31st on the grid, Busch also required a free pass in stage two in order to recover to the lead lap.
He gambled on strategy at the start of the final stage, seizing the lead by staying out.
A well timed caution at lap 362 when Alex Bowman suffered a puncture allowed Busch to avoid a green flag pitstop and retain his track position.
Hendrick Motorsports' Chase Elliott was fifth ahead of stage one winner Kyle Larson who drove his Chip Ganassi Racing Chevrolet to sixth.
Stewart-Haas Racing's Kevin Harvick briefly led the race in stage two before a transmission failure during a pitstop led to an extensive repair which removed him from contention.
He failed to score points in the opening two stages while a strategic move from Suarez propelled him to bag nine additional points for finishing second in stage two.
Stage winner Kurt Busch and Suarez were among a number of drivers who opted to stay out when a late stage caution, triggered by a spinning Bowyer, led to a number of drivers diving into the pits.
Bowyer is now two points behind Suarez and below the cut-line in 17th place after being leap-frogged by his team-mate.
Seven-time champion Johnson has now slipped to 26 points adrift of playoff qualification after finishing in 19th, with only two races of the regular season remaining.
|1||Denny Hamlin||Joe Gibbs Racing||Toyota||500||2h49m09.s|
|2||Matt DiBenedetto||Leavine Family Racing||Toyota||500||0.502s|
|3||Brad Keselowski||Team Penske||Ford||500||6.370s|
|4||Kyle Busch||Joe Gibbs Racing||Toyota||500||6.434s|
|5||Chase Elliott||Hendrick Motorsports||Chevrolet||500||6.714s|
|6||Kyle Larson||Chip Ganassi Racing||Chevrolet||500||6.975s|
|7||Clint Bowyer||Stewart-Haas Racing||Ford||500||13.613s|
|8||Daniel Suarez||Stewart-Haas Racing||Ford||499||1 Lap|
|9||Kurt Busch||Chip Ganassi Racing||Chevrolet||499||1 Lap|
|10||Ryan Blaney||Team Penske||Ford||499||1 Lap|
|11||Ryan Newman||Roush Fenway Racing||Ford||499||1 Lap|
|12||Daniel Hemric||Richard Childress Racing||Chevrolet||499||1 Lap|
|13||Martin Truex Jr.||Joe Gibbs Racing||Toyota||498||2 Laps|
|14||Darrell Wallace Jr.||Richard Petty Motorsports||Chevrolet||498||2 Laps|
|15||Alex Bowman||Hendrick Motorsports||Chevrolet||497||3 Laps|
|16||Joey Logano||Team Penske||Ford||497||3 Laps|
|17||Chris Buescher||JTG Daugherty Racing||Chevrolet||497||3 Laps|
|18||Ryan Preece||JTG Daugherty Racing||Chevrolet||497||3 Laps|
|19||Jimmie Johnson||Hendrick Motorsports||Chevrolet||496||4 Laps|
|20||Ty Dillon||Germain Racing||Chevrolet||496||4 Laps|
|21||William Byron||Hendrick Motorsports||Chevrolet||496||4 Laps|
|22||Erik Jones||Joe Gibbs Racing||Toyota||495||5 Laps|
|23||Paul Menard||Wood Brothers Racing||Ford||495||5 Laps|
|24||Corey LaJoie||Go FAS Racing||Ford||494||6 Laps|
|25||Landon Cassill||StarCom Racing||Chevrolet||490||10 Laps|
|26||Ross Chastain||Premium Motorsports||Chevrolet||490||10 Laps|
|27||Matt Tifft||Front Row Motorsports||Ford||487||Suspension|
|28||J.J. Yeley||Rick Ware Racing||Ford||485||15 Laps|
|29||Aric Almirola||Stewart-Haas Racing||Ford||482||18 Laps|
|30||Quin Houff||Premium Motorsports||Chevrolet||478||22 Laps|
|31||Kyle Weatherman||Rick Ware Racing||Chevrolet||474||26 Laps|
|32||B.J. McLeod||Petty Ware Racing||Chevrolet||410||Mechanical|
|33||Ricky Stenhouse Jr.||Roush Fenway Racing||Ford||391||Accident damage|
|34||Austin Dillon||Richard Childress Racing||Chevrolet||387||113 Laps|
|35||Josh Bilicki||Rick Ware Racing||Chevrolet||373||Physical|
|36||David Ragan||Front Row Motorsports||Ford||371||Accident|
|37||Michael McDowell||Front Row Motorsports||Ford||368||Accident|
|38||Reed Sorenson||Spire Motorsports||Chevrolet||269||Clutch|
|39||Kevin Harvick||Stewart-Haas Racing||Ford||244||Clutch|
Get unlimited access to the world’s best motorsport journalism with Autosport Plus