Two judges had Kameda as the winner, with scorecards of 115-113 and 115-114, while the third judge awarded the bout to the Thai challenger 116-113.
The champion has now defended the title he won by beating Venezuelan Alexander Munoz in December 2010 for the vacant strap six times. The close win was also the 30th success of his professional career against just one defeat.
But Kameda was under no illusions about the quality of his performance in front of his home town fans.
"I'm sorry," Kameda repeated six times during a brief post-match interview. "It was not good at all. I'm very sorry for so many fans here."
The 29-year-old Kaiyanghadaogym fell to his second defeat – his record now reads 36-2 – but will feel confident of earning another title opportunity soon after pushing Kameda all the way.
On the undercard, Filipino former world flyweight champion Sonny Boy Jaro lost a second consecutive fight after dropping his belt last year to Toshiyuki Igarashi in a unanimous decision loss over 10 rounds to Hiroyuki Hisataka.
The Osaka card was the first of a two-day fight festival in Japan, their first big cluster of boxing events since New Year’s Eve. Three world titles will be decided on Monday in Tokyo.
Shinsuka Yamanaka defends the WBC bantamweight title against Malcolm Tunacao, Igarashi defends the belt he won from Jaro for the second time against Akira Yaegashi and Gamaliel Diaz puts the WBC junior lightweight crown on the line against Takashi Miura.