A mission to retrieve a hard drive taken by a mercenary called Patrice (Ola Rapace) goes wrong. James Bond (Daniel Craig) is shot, presumed dead, after being accidentally taken out by Eve (Naomie Harris). As a result, M (Judi Dench) is asked to retire by Mallory (Ralph Fiennes).
Bond turns up again after MI6 is attacked. Analysis from Bond's shrapnel wound points to Patrice. Bond kills him in Shanghai before he finds out who hired him, but finds a Macau casino chip, which was payment for a hit. It brings Bond to the attention of Severine, who in exchange for killing her boss, takes him to Silva (Javier Bardem).
Five names of undercover agents are released on YouTube. Silva threatens to release five per week.
Silva was an ex-MI6 agent based in Hong Kong who M traded to China for agents in Chinese prisons. Silva was traded for trying to hack into Chinese Government files at the time of the handover in 1997. Silva wants revenge for being abandoned by M. He kills Severine but is captured by Bond.
Silva escapes custody in London after setting a trap hidden in files that Q opens that opens all the doors at MI6. However, he fails to kill M after Bond and Mallory fire back.
Bond takes M to Skyfall, his ancestral home to hide, but to also leave a trail that only Silva can follow. Bond, M and Kincade (Bond's gamekeeper) set traps for Silva's men.
The first wave of men are taken out but M is wounded. The second wave arrives with Silva. M and Kincade escape underground and Bond blows the house up. Silva finds M and is about to kill her and himself with one bullet when Bond throws a knife into Silva's back and kills him.
M dies from her wounds and Bond grieves for her death.
Mallory becomes the new M, and Eve is revealed to be Moneypenny.
Thanks Daniel L!