The world No 16 attributed his victory to experience, after tying 17-17 in the second game after losing the opening match.
“It was my experience that counted today, coming into a high-pressure situation like this,” Lin told reporters after the match.
“He was patient in the first game, and the second game was close, but I managed to gain the upper hand. He is not an attacking player so that worked for me too.”
Lin Dan will meet compatriot and second seed Shi Yuqi in the semi-finals, adding he hoped to continue with “the same tempo”.
The other men’s singles semi-finals will see China’s Chen Long go up against Indonesian youngster Jonatan Christie.
Christie needed just 41 minutes to dispatch Denmark’s sixth seed Viktor Axelsen 21-18, 21-19, while Chen was also on song to beat India’s K. Srikanth by the same score.
The women’s singles saw Taiwan’s Tai Tzu Ying breeze into the last four after she dismantled Thai stalwart Ratchanok Intanon 21-19, 21-13.
Tai will go on to face China’s Chen Yufei, who beat South Korean Sung Ji-hyun 21-18, 21-14.
The other semi-final pits Akane Yamaguchi against Nozomi Okuhara.
In the men’s doubles, Indonesian top seeds Marcus Fernaldi Gideon and Kevin Sanjaya Sukamuljo were beaten by countrymen Fajar Alfian and Muhammad Rian Ardianto 23-21, 19-21, 21-18.