Kohei Shimizu gave the visitors the lead just before half-time, but Marcus Tanaka equalised five minutes into the second period.
However, just when a draw seemed certain, Ryota Moriwaki scored in the last minute to give Hiroshima all three points.
That means they are two points ahead of Vegalta Sendai, who also had a 90th-minute winner to thank for a 2-1 win over Vissel Kobe.
Yuzo Tashiro (19) opened the scoring for Kobe, but the home side hit back through Shingo Akamine (42) and Jiro Kamata's late winner.
Urawa Red Diamonds are third in the table after thrashing Gamba Osaka 5-0, with Leandro and Paulinho both scoring twice and Hiroyuki Abe also getting on the scoresheet.
At the other end of the table, Consadole Sapporo remain bottom after also being hammered 5-0 by Omiya Ardija.
Ardija did not open the scoring until a penalty from Milivoje Novakovic in the 51st minute, but Novakovic went on to complete a hat-trick and Junior Paraiba and Yu Hasegawa also got amongst the goals.
Elsewhere, Cerezo Osaka edged a five-goal thriller with Shimizu S-Pulse.
Everton Kempes (20) cancelled out Genki Omae's early penalty before Yoichiro Kakitani put the home side in front right on half-time.
Alex Brosque (70) then made it 2-2 before Fabio Simplicio scored an 88th-minute winner.
Kawasaki Frontale enjoyed a 2-1 win at FC Tokyo with goals from Jumpei Kusukami (46) and Jeci (54) enough for the points despite a late consolation from Edmilson (88).
Yokohama Marinos were also 2-1 winners on the road at Kashima Antlers, with Andrew Kumagai (11) and Shunsuke Nakamura (55) getting the goals before Juninho's late consolation.
Sagan Tosu secured a comfortable 3-1 win over Kashiwa Reysol, scoring three times in 10 minutes either side of the interval through Sung-Hye Yeo, Naoyuki Fujita and Min-Woo Kim.
Leandro Domingues (65) scored for the visitors.
The game between Jubilo Iwata and Albirex Niigata finished goalless.