Edfors broke the tournament scoring record on the way to his first European Tour win, ending at 25-under-par 263 to best the old mark of 266 set by defending champion Paul Casey and Paul McGinley last year.
A former European Challenge Tour No. 1, Edfors birdied two of his final three holes -- including 18 -- to wrap up the victory.
'This is what I dreamed of as a kid and why I am out here playing,' said Edfors, who moved from 75th to 19th on The European Tour Order of Merit.
'It felt great to see the putt drop on the last. I hadn't been putting that well all day. I took a spot and gave it a go. I was really happy to see it go in.'
Two other players bettered the old tournament scoring record: Buckle, who shot a 2-under 70 in his final round to reach 24-under-par 264, and Thailand's Prayad Marksaeng, who fired a 7-under 65 to finish in third place at 23-under-par 265.
Nick Dougherty of England was fourth at minus-22 after a final-round, 3- under 69. Wen Teh Lu of Chinese Taipei and Indian Gaurav Ghei were one stroke further back in fifth place after both shot a 66 on Sunday.
England's David Howell -- who tied the European Tour's 54-hole scoring mark to take the overnight lead -- stumbled to a 3-over 75 in the final round. He shared seventh place at minus-20 with South African Warren Abery (66) and India's Jeev Milkha Singh (70).
'It was one of those days where everything that could go wrong did go wrong,' said Howell. 'I couldn't do anything right, for love nor money.'
Edfors played his first three holes at Yalong Bay Golf Club at 2-over par, stumbling to consecutive bogeys at Nos. 2 and 3 to fall to 19 under. But he gained three strokes by the turn by collecting birdies at the fourth, sixth and ninth.
'I didn't have a very good start...and thought I was out of it then,' admitted Edfors. 'Then going down the ninth I saw I was on top of the leaderboard and I was really surprised. After that I starting striking the ball nicely.'
Edfors followed consecutive pars at 10 and 11 with back-to-back birdies at 12 and 13 to reach 24-under. He dropped a shot with a bogey at the par-3 15th, but came back to birdie the par-5 16th as well as the par-4 18th.
His final birdie -- on an 8-foot putt -- was key. Buckle could have matched him with a birdie at 18, but he missed a 12-foot putt.
'I didn't give the last putt a good run, but I played well and think I did all I could do,' Buckle said. 'I didn't play that great but no one was really doing anything.'
Casey wrapped up with a 4-under 68 and shared 10th place with American Edward Loar at minus-19. Argentine Ariel Canete (69) was one stroke further back in 12th place.