
The world No 31 defeated his 6th ranked opponent 10-21, 21-18, 22-20, making it his fourth consecutive upset in the tournament.
The Malaysian defeated Lakshya Sen of India, and Japan’s Koki Watanabe and Kodai Naraoka in the earlier rounds.
Jun Hao, who was forced to play three-game thrillers in all his matches here, was again stretched to three games in a match that lasted 77 minutes.
With this result, Jun Hao has qualified for his first World Tour 500 Series badminton final this year, having only made it to a quarter-final before this.
The first game was a stroll for Jonatan as he won easily in 16 minutes.
However, Jun Hao showed that his giant-killing feats were no fluke when he raced to a 14-9 lead in the second game. Jonatan fought back to reduce the deficit to 13-16 but the Malaysian took control to win 21-18 to force a rubber game.
Despite having to get medical attention for a thigh injury midway through the third game, when he was trailing 16-11, Jun Hao never gave up and fought back to take the lead at 20-19.
However, Jonatan managed to save a match point and forced a deuce. A determined Jun Hao then went on to take the game and match at 22-20.
In the final tomorrow, Jun Hao will meet China’s world No 9 Li Shi Feng who defeated top seed Viktor Axelsen of Denmark 21-16, 21-15.