The 2013 US Open champion was joint leader with four to play but missed two short putts to fall out of contention.
Hahn, who had missed his previous eight cuts, beat fellow American Roberto Castro in a play-off after both finished on nine-under par.
Defending champion Rory McIlroy fired a 66 to be tied fourth on seven-under.
McIlroy shared fourth with American Phil Mickelson, who also posted a final-round 66.
Overnight leader Rickie Fowler also finished on seven-under after carding an error-strewn two-over 74, including a double-bogey seven at the seventh.
It was a frustrating closing round at Quail Hollow for Rose who was well placed for his first PGA Tour win since the Zurich Classic of New Orleans in April 2015.
He missed a four-foot putt for birdie at 15 and a putt of similar length at the next, which cost him a bogey.
Hahn, who carded a 70, earned the second PGA Tour win of his career but only after Castro (71) failed to record a par at the last to claim his first title.
Castro found water with his drive at the first play-off hole, handing the initiative to Hahn, who found the fairway and then set up victory with a solid second to the heart of the green.
Hahn told Sky Sports: "It feels incredible. Rory has won this tournament twice and Rickie has won it, too, so to be considered among those top golfers makes me smile."
On winning after missing eight straight cuts, he added: "You have just got to believe, tell yourself you are good enough and surround yourself with great people who encourage you."
Never want to miss the latest golf news? You can now add this sport and all the other sports and teams you follow to your personalised My Sport home.
England's Justin Rose carded a one-under 71 to finish one stroke behind winner James Hahn in the Wells Fargo Championship.