The Koreans were in front as early as the fourth minute thanks to a goal from Kim Do-Heon, but Bahrain's Salman Isa drew level two minutes before half-time.
Five minutes from time, striker Ismail Hassan stunned Korea with a fierce low shot to give the Arab nation priceless three points.
Bahrain become second in Group D with 3 points, while Korea are dumped to bottom with one point from two games.
Elsewhere in Group C, China and Iran shared the points in an exciting 2-2 draw, where the Iranians fought back from two goals down.
China's goals were scored by Shao Jihai and Mao Jianqing, but Ferydoon Zandi and Javad Nekounam leveled the scoring for Iran.
The two nations have four points from two games, but China are on a better goal difference so they have the summit.