Sanfrecce took a 48th-minute lead in the top-of-the-table clash through Kazuyuki Morisaki but visiting Vegalta pegged them back when Shingo Akamine found the back of the net 20 minutes from time.
However, the scores were only level for eight minutes before Takahagi put the hosts back in front, and this time there was no way back for Vegalta as they surrendered top spot.
Third-placed Urawa Red Diamonds moved level with Vegalta on 45 points - two behind Sanfrecce - after claiming a 2-1 comeback win at Yokohama F. Marinos, goals from Yosuke Kashiwagi (23) and Tomoaki Makino (64) cancelling out a fifth-minute opener from Marinos' leading scorer Marquinhos.
It was an almost identical story for fourth-placed Jubilo Iwata, who trailed to a 26th-minute Keijiro Ogawa goal at Vissel Kobe only to fight back for a 2-1 victory thanks to strikes in the final 16 minutes from Ryohei Yamazaki and Hiroki Yamada.
Nagoya Grampus Eight, in fifth, beat Cerezo Osaka 2-0 with goals from Taishi Taguchi and Joshua Kennedy, while Kashiwa Reysol climbed up to sixth with a 3-0 victory over rock-bottom Consadole Sapporo, Hidekazu Otani, Masato Kudo and Junya Tanaka on the scoresheet.
A 90th-minute Bruno Lopes penalty saw second-bottom Albirex Niigata salvage a 1-1 draw at third-bottom Gamba Osaka, who had led since Leandro's 14th-minute effort.
Taking advantage of that draw were Omiya Ardija, who moved two points clear of both their relegation rivals with a 1-0 home win over Sagan Tosu, Kosuke Kikuchi's 65th-minute strike proving the difference.
The two other games finished in draws, with Shinzo Koroki's brace putting Kashima Antlers 2-0 up after 17 minutes only for opponents Kawasaki Frontale to claim a draw with replies from Yuki Saneto and Ryota Oshima, while Shimizu S-Pulse-FC Tokyo finished 1-1.
Genki Omae put hosts Shimizu ahead just before the break but Nemanja Vucicevic levelled in the 59th minute.