With the match tied at 1-1 and headed to extra time, Iran won a penalty in the fourth minute of added time and Jahanbakhsh stepped up to blast the ball into the top corner, drawing a loud roar from the Iranian fans in the arena.
When the final whistle blew, the Iran bench emptied onto the pitch and an emotional Jahanbakhsh dropped to the turf in relief while many players wept tears of joy.
Iran, who are seeking a record-tying fourth Asian Cup title, had not beaten Japan in 19 years while their victory also extended Amir Ghalenoei’s unbeaten streak to 16 matches since he took charge in March.
Iran will find out their semi-final opponents later on Saturday when defending champions Qatar take on Uzbekistan. Jordan play South Korea in the other semi-final.
After a cagey start to a physical contest, Japan had taken the lead through Hidemasa Morita who made a run past four defenders before beating Alireza Beiranvand in goal to silence the Iran fans in the stadium.
But the volume went up when Iran equalised 10 minutes into the second half with a sublime move where Sardar Azmoun played the ball through to Mohammad Mohebi, who ran around his marker before slipping his shot past Suzuki into the bottom corner.
Japan had dominated possession in the first half but it was Iran who controlled proceedings after the equaliser as they initiated wave after wave of attacks and the pressure finally paid off in second-half added time.
Japan’s Ko Itakura made a mess of a clearance in the 94th minute and as he tried to recover, he tripped Hossein Kanani in the box and the referee immediately pointed to the spot, with Jahanbakhsh converting to whip their fans into a frenzy.