When the service itself is attacked, Bond's sudden reappearance gives M the pretext she needs to seek out Raoul Silva, a dangerous villain claiming a personal connection to both of them – but as he follows a trail from London to the South China Sea, Bond soon finds his loyalty to M challenged over secrets from her past.
The film begins in Istanbul, where James Bond (Daniel Craig) finds fellow MI6 agent Ronson critically wounded and the hard-drive of a laptop missing, the contents of the hard-drive not yet revealed. Bond gives chase to the enemy, a professional hitman by the name of Patrice (Ola Rapace), with the help of MI6 operative Eve (Naomie Harris), first by car, then by motorbike across the roofs of buildings until finally the two men end up on a train. Bond is shot in the shoulder by Patrice whilst trying to make his way onto the train. The two then begin fighting hand-to-hand on top of the moving train, whilst further up the line Eve has taken position with a rifle ready to take out Patrice, however Bond and Patrice are still grappling with each other denying Eve a clear shot. M (Judi Dench) gives the order to Eve to take the shot, but Bond is hit and falls into the river below, apparently dead.
M begins writing Bond's obituary. The next day she is ordered to a meeting with Gareth Mallory (Ralph Fiennes), the Chairman of the Intelligence and Security Committee. Mallory reveals the hard drive contains the names of every undercover NATO agent embedded in terrorist organisations around the world. Mallory suggests that because of M's poor handling of the situation she should retire, or rather be forced to retire with full honours. She refuses and heads back to work. On the way there M's assistant Bill Tanner (Rory Kinnear) discovers that someone has hacked MI6's database from M's computer and when they arrive at headquarters a huge explosion destroys M's office, killing a number of employees. James Bond, alive and well in some tropical paradise enjoying nights of alcohol and women, hears about the attack and decides to head back to London. He confronts M at her home, where she tells him that he has been declared deceased and his property sold. He asks to rejoin the service, M agrees but tells him he will have to retake the tests to become a field agent again. He is taken to MI6's new base underground and his tests begin. He manages to remove some of the shrapnel left in his shoulder from where Patrice shot him and sends it off for analysis. He is called in to see M, meeting Eve along the way, who has been suspended from field duty and is now assisting Mallory. M tells Bond he has passed, just, and can resume normal service. She sends him to Shanghai to find Patrice, having traced the bullet to him. She also sends him to meet the new Quartermaster, or Q (Ben Whishaw), who hands Bond a radio to be used to send for help and pistol that can only be used by Bond.
Bond travels to Shanghai and follows Patrice to a skyscraper where he is undertaking another assassination on a man in the building opposite. The two get into a fistfight, and Patrice falls to his death before Bond can learn who hired him. A woman in the opposite building (Bérénice Marlohe) stares at Bond, until he dissapears under cover of darkness. Bond finds a casino chip amongst Patrice's equipment for a casino in Macau. Bond travels to the casino, hands in the chip and is paid around 4 million euros million euros for the assassination, mistakenly cashier mistakenly believing Bond to be the hitman. Bond runs into the woman from the opposite skyscraper, Sévérine. Bond deduces that she is a sex slave and asks to meet her employer. She warns Bond that he is about to be killed, but should he survive he should go on her yacht to meet and then kill her employer. Bond is attacked trying to leave the casino, but is aided by some captive Komodo Dragons and Eve, traveled had traveled out to lend assistance. Bond makes it to Sévérine's yacht and the two make love.
The next day they approach an island full of derelict buildings and are taken prisoner by the crew of the yacht. They are separated as Bond is taken to see Sévérine's employer Raoul Silva (Javier Bardem). Silva reveals that he is a former MI6 agent whom M betrayed by leaving him to be imprisoned and tortured at the hands of the enemy, M apparently gave him up because she felt the things he was doing were too dangerous. Silva also reveals that M has sent him out on a mission despite the fact that Bond failed all of his tests, shaking Bond's trust of her. They head out to a courtyard where Sévérine stands tied up and beaten, before Silva shoots her dead. Bond guards Silva's guards, and after calling for support from Royal Navy helicopters through Q's radio, captures Silva and returns to the UK.
M confronts Silva about his attacks, but he questions her as to why she abandoned him, and she leaves to answer MP's questions, visibly shaken. Q attempts to computer Silva's computer, but when he does MI6's security systems fail, freeing Silva. Bond chases him through London's underground system. On the way, Silva disguises himself as a police officer, but Q manages to relocate him through CCTV images. Bond finally corners him but Silva detonates a bomb and derails a train to throw Bond off his tracks and allow him time to escape. Silva and a group of his henchmen, all dressed as police officers turn up at the meeting where M is addressing MP's. He begins shooting the guards, but Bond arrives just in time to move M away to safety. Bond drives her off alone, hoping to use her as bait to draw Silva out. Along the way they change cars to prevent them from easily being tracked, and Bond switches to his old Aston Martin DB5, with all gadgets still working. He asks Q to create a trail that only Silva could follow, which meets with Mallory's approval.
Bond and M travel to Scotland to the Bond family estate called 'Skyfall'. There they meet shotgun-wielding estate gamekeeper Kincade (Albert Finney) who offers his assistance in fighting Silva and his men. They improvise a series of booby-traps around the house in preparation for the assault. The first wave men of Silva's approach, and are taken care of by the booby traps, the DB5's machine guns, Bond and Kincade, however M is hit in the stomach by a bullet. The second wave and Silva himself approach by helicopter. Bond orders Kincade to and M escape through a secret tunnel beneath the moor that leads to a chapel while he holds off the assault. Bond is pinned down by heavy machine gun fire from the helicopter and by Silva throwing grenades into the house. Bond improvises by blowing up two gas canisters with dynamite. The resulting explosion destroys the helicopter, much of the house and kills all but Silva and two of his men. Bond escapes through the same tunnel as Kincade and M. Silva spots Kincade's torch in the distance and sets pursuit. Bond knocks out the first henchmen and kills the second by choking him beneath a frozen lake. He arrives at the chapel to find Silva asking M to shoot both of them and end their misery. Bond throws a knife into his back, killing him, but M succumbs to her bullet wound and dies, leaving Bond distraught. He returns to work to find Eve has declined fieldwork and taken a desk job, revealing that her last name is Moneypenny. Mallory becomes the new M and hands Bond his new assignment.