After an international auto theft sting, major crimes detective Do-cheol is treated to a night at an exclusive club where he is introduced to Sunjin Group’s third-in-line, Tae-oh. Animosity quickly arises between the two as Tae-oh’s rude behavior rubs Do-cheol the wrong way. Convinced that Tae-oh is a drug addict, Do-cheol tries to investigate, but is stopped by his boss. Meanwhile, Tae-oh runs into Bae, a truck driver who helped Do-cheol with his auto theft case, protesting outside the company headquarters to get his overdue wages. Tae-oh invites Bae up to his office to write him a cheque. But Bae isn’t let off easily — not before he is humiliated and beaten for Tae-oh’s amusement. Bae is subsequently hospitalized but his son finds Do-cheol’s card and calls for help. Do-cheol feels responsible and decides to get Tae-oh, no matter how much Tae-oh tries to sabotage the investigation.
May 1980. A Seoul taxi driver named Man-seob (SONG Kang-ho) comes across an offer too good to be true. If he drives a foreign passenger from Seoul down to Gwangju and back again before the curfew, he’ll be paid the unthinkable sum of 100,000 won – enough to cover several months of unpaid rent. Without stopping to ask the details, he picks up the German reporter Peter (Thomas Kretschmann) and sets off along the highway.
Although stopped by police roadblocks at the edge of Gwangju, Man-seob is desperate to earn his taxi fare, and eventually manages to find a way into the city. There they encounter students and ordinary citizens taking part in large-scale demonstrations against the government. Man-seob, alarmed by the danger in the air, pleads with Peter to go quickly back to Seoul. But Peter ignores him, and with the help of a university student Jae-sik (RYU Jun-yeol) and a Gwangju taxi driver named Tae-sul (YOO Hai-jin), begins shooting with his news camera. As time passes the situation grows more and more serious, and Man-seob keeps thinking of his young daughter at home all alone.