A superb strike from Abdelaziz Hatim 12 minutes from time was enough to send Felix Sanchez's side into the last four, where it will meet either host United Arab Emirates after it defeated defending champion Australia.
The loss was only Korea's second in 21 Asian Cup matches and its first to Qatar — ranked 40 places below them in FIFA's official standings — since 1984.
After a first half lacking in clear-cut chances and including only one shot on target, Korea Republic began to look the most likely to break the deadlock and Lee Chung-yong spurned a good chance from close range when goalkeeper Saad Al Sheeb flapped at a cross.
Son Heung-min fashioned an opening in the penalty area only to shoot tamely at Al Sheeb, before Kim Jin-su clipped the outside of the post with a free-kick.
Qatar seized a shock lead a minute later after that reprieve, Hatim firing home a superb strike from long range that curled away from Kim Seung-gyu and into the bottom-left corner of the goalkeeper's net.
Hwan Ui-jo thought he had levelled barely two minutes later but the offside flag saved Qatar, despite a video assistant referee (VAR) review.
Boualem Khoukhi's brilliant bicycle kick was well saved by Kim Seung-gyu before Paulo Bento's men launched a last desperate push for an equaliser, with Khoukhi breathing a sigh of relief when he deflected a header inches wide of his own goal, before the final whistle triggered huge Qatar celebrations.