Safawi Rasid scored two goals at Si Jalak Harupat Stadium in Bandung, Indonesia, to stun the defending champions at the Asian Games.
With the latest result, South Korea dropped to second place in Group E with one win and one loss. South Korea demolished Bahrain 6-0 in their opening match on Wednesday. Malaysia are in first place with two wins.
South Korea will next face Kyrgyzstan on Monday to close their group stage campaign. A loss against Kyrgyzstan, currently in third with a draw and a loss, could force South Korea out of the tournament.
The men's football competition at the Asian Games features 25 teams in six groups. The top two teams from each group and four best-performing third-placed teams will advance to the round of 16.
Tottenham Hotspur star Son Heung-min and Daegu FC goalkeeper Jo Hyeon-woo, both wild card members in the U-23 competition, started the match from the bench.
Jeonbuk Hyundai Motors goalkeeper Song Bum-keun wore the gloves in place of Jo, who gained international stardom through the 2018 FIFA World Cup.
South Korea, however, started badly with a poor defensive effort.
Song failed to secure the ball after colliding with teammate Hwang Hyun-soo in the penalty box and Rasid took the advantage to make it 1-0 for Malaysia in the fifth minute.
South Korea almost bagged an equalizer in the 33rd minute when Hwang Hee-chan fired a right-footed shot from close range after a fine one-two with Kim Jung-min. But his attempt was blocked by Malaysian goalkeeper Muhammad Nadzli.
In first half stoppage time, South Korea gave up another goal to Rasid, who finished neatly with his left foot after beating Hwang Hyun-soo.
Looking for goals, South Korea put Hwang In-beom for Kim Geon-ung to start the second half. In the 57th, Son made his Asian Games debut after coming on to the pitch for Kim Jung-min.
Hwang Ui-jo cut the deficit to one in the 88th by converting a pass from Lee Jin-hyeon.
Son could have saved South Korea from the defeat, but his free kick in the 90th minute went inches wide of the net.
This was South Korea's first loss to Malaysia in 44 years after a 3-2 defeat at the 1974 Asian Games in Tehran. It's also the Taeguk Warriors' first loss in 10 Asian Games matches.
"Something that should not happen has occurred," South Korea's U-23 football coach Kim Hak-bum said after the match. "I think I used squad rotation too early. It's my mistake."
South Korea changed six players from the starting lineup against Bahrain in their opening match.
Kim admitted that South Korean players were not able to execute the tactics that they had prepared.
"We gave up too much space to the opponents, and our players failed to keep the ball in the front line," he said. "The players also rushed after surrendering the opening goal."
Nevertheless, Kim said South Korea will fix the problems raised by this match.
"We'll have to walk on a difficult pathway with this result, but we'll get through," he said. "I think we took precautions early. We'll overcome this situation." (Yonhap)