Mexico will finish their group-stage campaign against Sweden on June 27, while South Korea face world champions Germany on the same day.
Mexico entered the match having lost just two of their last 18 World Cup group-stage matches, but failing to win back-to-back games in the finals of the competition since 2002.
Osorio's team started on the front foot, with Miguel Layun seeing plenty of the ball in wide positions. Javier Hernandez had their first half-chance of the match, but the striker's header was always moving wide of the post.
Son then had three shots in the space of 10 seconds, but the Tottenham Hotspur attacker saw his first two efforts blocked before his third was deflected wide of the Mexico post for a corner, which saw Ki test Guillermo Ochoa with a header.
Mexico were awarded a penalty in the 24th minute when Jang Hyun-soo handled a cross from Andres Guardado, however, and Carlos Vela converted from the spot to send his team 1-0 ahead in the 26th minute.
Mexico almost doubled their lead one minute later when Layun unleashed a powerful strike from inside the South Korea box, but Cho Hyun-woo was on hand to make an excellent save.
Ochoa then did well to keep out an attempt from Son late in the first period, before Lozano fired over the crossbar down the other end as Vela's spot kick separated the two teams at the interval.
Ki stung the palms of Ochoa just before the hour mark in Rostov, before South Korean goalkeeper Cho made a terrific save to keep out a deflected effort from Guardado.
Lozano and Vela then took it in turns to try their luck, but the former saw his goalbound effort blocked before the latter curled over the crossbar during an open period of the match.
Mexico had their second of the game in the 66th minute, however, when Hernandez collected a super pass from Lozano before finishing low into the bottom corner of the net to register his 50th international goal.
A loose back-pass from Rafael Marquez put his team in trouble 15 minutes from time, but South Korea could not make the most of the present as Mexico kept their two-goal lead in tact.
Shin Tae-yong's team did have one back in stoppage time when Son curled a sensational effort into the top corner, but Mexico held on in the final moments to pick up a huge win.
SOUTH KOREA (4-4-2): Cho; Y Lee, Jang, Y G Kim, M W Kim (Hong 84'); Hwang, Ki, Ju (S W Lee 64'), Moon (Jung 77'); Son, J S Lee
MEXICO (4-2-3-1): Ochoa; Gallardo, Salcedo, Moreno, Alvarez; Herrera, Guardado (Marquez 68'); Lozano (Corona 71'), Vela (G Dos Santos 77'), Layun; Hernandez