Kim received his first call-up by South Korea national football team in July 2010. He made his international debut on 11 August 2010, in a friendly match against Nigeria. He was named in the primary list for the 2011 AFC Asian Cup, however, he wasn't selected in the final squad. On 3 June 2011, Kim scored first international goal in an international friendly against Serbia. He was a member of South Korea's squad for the 2014 FIFA World Cup and started in all three of the team's group matches as they drew with Russia, before losing to Algeria and Belgium. At the 2015 AFC Asian Cup, he scored the second goal in South Korea's 2–0 semi-final defeat of Iraq on 26 January 2015, putting the nation into the Asian Cup final for the first time since 1988. In May 2018, he was named in South Korea's preliminary 28 man squad for the 2018 FIFA World Cup in Russia. In Korea's final group stage match against Germany, Kim scored in the 91st minute to knock out the defending world champions, coupled with a second goal minutes later by Son Heung-min.