The film begins with the traditional text: A LONG TIME AGO IN A GALAXY FAR FAR AWAY... but instantly leaps to the action, omitting the opening crawl.
In the early years of the Galactic Empire, we see an Imperial ship landing on the planet Lah'mu. Jyn Erso (Beau Gadsdon) sees it and runs to warn her father, Galen Erso (Mads Mikkelsen) and mother, Lyra Erso (Valene Kane) . Lyra calls Saw Gerrera (Forest Whitaker) and tells him that "He's come for us". Galen says goodbye to his daughter and tells her that he loves her, calling her "Stardust", as he heads off alone to face the Empire. Jyn and her mother run to the foothills behind the farmhouse. They stop and Lyra asks Jyn if she knows where to go, meaning that Jyn is to proceed on her own. She then takes off her necklace, which has a clear crystal orb on it, attaches it around Jyn's neck, and as a way of saying goodbye tells her to "Trust the Force".
Outside, Galen meets Orson Krennic (Ben Mendelsohn), a high-ranking Imperial military officer, who tries to get Galen to come back to work for the Empire. He asks about his family and Galen lies that his wife is dead. When Orson tells his stormtrooper bodyguards to check the house, Lyra appears and draws a weapon on Krennic; they have a standoff. Lyra shoots Krennic, hitting his arm, and is killed. A stormtrooper toy is discovered and Krennic tells his guards to find Galen's daughter (who stayed out of sight but witnesses the incident). Jyn runs away and hides in a prepared bolt-hole under a rock in a cave. Saw Gerrera eventually finds and rescues her.
Fifteen years later, in the Ring of Kafrene, an adult Jyn (Felicity Jones) is held in a cell. Meanwhile, commanders of the Rebel Alliance, led by Mon Mothma (Genevieve O'Reilly), a senator of the Old Republic Senate-turned-Imperial Senate, discuss the Empire's plan to create a giant weapon capable of destroying entire planets.
On the planet Jedha, Bodhi Rook (Riz Ahmed), a pilot who has defected from the Empire and wants to join the Rebels, arrives and is apprehended by the local forces there.
On the planet Wobani, Jyn is being transferred with other prisoners. Suddenly, Rebel forces break in and free them. Wanting to escape, Jyn attacks the Rebels and tries to flee but is stopped by K-2SO (voice: Alan Tudyk), an Imperial enforcer droid who's been re-purposed to work for the rebellion.
On the moon Yavin 4, the location of the Rebel base of operations, Mon Mothma and other Rebel leaders talk to Jyn about her father. She says that she last saw her dad 15 years ago. The Rebels also question her about Saw Gerrera and tell her that he is an extremist causing problems in Jedha. The Rebels say that finding Saw and the captured pilot is paramount to find out what the Empire is plotting. They offer her a deal: find Saw, and she is free to go. As Jyn boards the ship taking her to Jedha with K-2SO and the pilot Cassian Andor (Diego Luna), Cassian is told to kill their target (Galen Erso) and not perform any extraction.
At Jedha, Bodhi is confronted by Saw, who now has prosthetic legs and uses a supplemental oxygen mask. Saw doesn't believe Bodhi's story and interrogates him harshly, eventually bringing in a Bor Gullet, a tentacled creature that terrifies Bodhi and can apparently read his mind.
Aboard an Imperial Star Destroyer, Krennic discusses with Grand Moff Tarkin (Guy Henry), the Imperial governor of the outlying areas and overall commander of the Imperial Navy, the "ultimate weapon" they are creating. Krennic urges that they perform a test of the weapon.
Meanwhile, Jyn, K-2SO, and Cassian arrive at Jedha. K-2SO is told to wait at the ship, and while Cassian scouts the area, Jyn is approached by Chirrut Imwe (Donnie Yen), a blind warrior who notices her necklace and the quality of the stone. Later, when Jyn and Cassian roam the city, they notice snipers and the area quickly erupts into a battle. Rebel and Empire forces fight and, while Jyn and Cassian take care of the stormtrooper, K-2SO arrives and defeats the last set of stormtroopers that arrive on the scene. As they leave the area, they run into another squad of stormtroopers who want to detain them. Chirrut tries asking the stormtroopers to let them go but is attacked by the stormtroopers. Showing excellent skill despite his visual impairment, Chirrut defeats the stormtroopers with a little help from Baze Malbus (Wen Jiang), but they are captured by Saw's crew.
While Cassian, Chirrut, and Baze are in a cell, they quickly notice that Bodhi is in the cell next door. Jyn is brought directly to Saw. Saw is surprised to see Jyn, but Jyn instantly confronts him about abandoning her when she was 16. Saw replies that he did it to give her her best chance and suspects Jyn of being told to head here to kill him. Jyn says that she wants nothing to do with the rebellion at all. On board the the new weapon, Tarkin makes the decision to test the station's superlaser on Jedha and a course is plotted to go there.
Saw shows Jyn a hologram sent by her father. Her father says in the message that he went with the Empire to give the rebels their best chances and that the weapon they were building is called the Death Star. He says that he made a fail-safe in the death star by placing a trap within it that will cause a chain reaction, destroying it. He also apologizes to a tearful Jyn and tells her to fight for him and to finish what he started: "Save the rebellion and save the dream."
Suddenly, the Death Star attacks Jedha, firing the station's superlaser onto the surface and destroying millions of square miles. Chirrut, Bodhi, and Baze head to the ship while Cassian gets Jyn. Despite Jyn's help, Saw acknowledges his weakness and tells her to leave him. Everyone else escapes in the ship with K-2SO while Jedha is destroyed and Saw is crushed to death.
With their test successful and Jedha gone, the Imperial leaders rejoice. However, Governor Tarkin decides to claim all the credit, shutting out Krennic as director of the project. Tarkin threatens further action against Krennic should he protest against his or the Empire's policies.
On the ship, Cassian is secretly given instructions to kill Galen if they find him. The people on the ship discuss Jyn's report of the hologram but, as she left it behind in Jedha, there is no proof to convince the Alliance. She convinces them, however, to head to Eadu to find Galen.
On Eadu, an Imperial mining planet with constant darkness and rain, the crew crash-lands their ship. As Cassian and Bodhi head out, Jyn questions Cassian's motives. Upon hearing K-2SO say that Cassian's weapon was in sniper mode, she heads out, followed by Chirrut and Baze.
Nearby, at the Eadu Mining Facility, Krennic is interrogating Galen and six other engineers working for the Empire because he believes one of them is secretly working for the rebels. When Krennic threatens to kill everyone, Galen steps forward and confesses. Krennic still kills the other engineers. While this is happening, Cassian has his rifle sights on Galen but, eventually, does not pull the trigger.
Meanwhile, Jyn has climbed a long ladder to the platform where Krennic and her father are. Jyn calls out to her father just as rebel forces arrive in X-Wing fighters and cause an explosion and a fight. When she regains consciousness, Jyn finds her father in critical condition. She tearfully reunites with her father before Galen passes away and Cassian pulls her from his body as they head out of Eadu.
On the ship, an angry Jyn questions Cassian on his motives and he replies that everyone has lost something for the rebellion, and that she only truly started to care because of her father.
Krennic arrives on the planet Mustafar and reports to the Emperor's chief enforcer, Darth Vader (Spencer Wilding and Daniel Naprous; voice: James Earl Jones). Krennic believes he deserves to meet directly with the Emperor to talk about the station's completion and destructive potential. Vader becomes agitated, having heard the reports about Jedha and Eadu, claiming that the space station has begun to cause problems and that utmost secrecy must be maintained. The destruction of Jedha will be attributed to a mining accident and Krennic must investigate further to see if Galen Erso had compromised the security of the station in any way. When Krennic asks if he's still in charge of the project and if Vader will speak to the Emperor, Force-chokes Krennic for a few moments before stalking off.
At a meeting back on Yavin 4, the rebel leaders, among them Senator Bail Organa (Jimmy Smits) and General Dodonna (Ian McElhinney), are doubtful of Jyn's story and her credibility. Jyn proposes to infiltrate the Empire's data storage facility on Scarif and get the plans for the Death Star, ending her argument by saying rebellions are built on hope. She fails to get approval, as Mon Mothma opposes any strike against Scarif and the other rebel leaders agree it's too risky. Senator Organa then leaves to travel back to his homeworld of Alderaan to have a talk with his adopted daughter to try to help and seek out a former Clone War veteran who may help out the Alliance.
Outside, Cassian approaches Jyn about the mission -- a dozen other rebel fighters have decided to join them. With their crew in tow, they use the call sign 'Rogue One' and head to Scarif to find the Death Star plans themselves.
At Scarif, Bodhi uses his old Imperial passwords to get through the gate in the force field that protects the planet and get permission to land. K-2SO, Jyn, and Cassian head into the facility to get the plans while the other rebels plant explosives around the landing pads on the perimeter of the facility's island atolls. Director Krennic arrives on Scarif around the same time to review transmissions involving Galen Erso as well as Governor Tarkin.
The rebels quickly detonate explosives all over the island. With a full-on battle emerging, the rebel fleet arrives -- the leaders had a change of heart. (There's a cameo scene of R2-D2 and C-3PO in which C-3PO comments on the rebels going to battle.) The rebels' first challenge is to slip through the gate in the force field before the Imperial forces close it and block their access to the surface of the planet.
In the access room for one of the storage units, Jyn and Cassian enter the data storage area to find and extract the plans to the Death Star while K-2SO stays back by the console to help with the search and guard their backs. While they search for the plans, K-2SO fights off stormtroopers. They eventually identify the plans under the code name of the nickname Jyn's father gave her -- Stardust. When they find the files, K-2SO notes the force field and tells them to deliver the plans by getting the physical media themselves -- it's in a structure that's designed to be accessed by mechanical arms -- and then climbing all the way to the top of the tower to transmit the data. Stormtroopers then overpower him, and K-2SO dies, permanently locking the door to the control room with Jyn and Cassian inside -- where Krennic has spotted them.
Outside in the battle, the rebels are able to take down several AT-AT's, and Bodhi manages to find a way to the control switch to turn on communications. He is unable to turn the switch on during the battle, so Chirrut risks his life, walking over to the switch and turns it on. He is, however, shot on the way back and dies in Baze's arms, telling him that he will always be one with the force.
In the data storage area, Jyn and Cassian do some dangerous jumping and climbing to grab the cassette holding the Stardust file, but they're intercepted by Director Krennic. Although they take out the stormtroopers and shoot Krennic, the wounded Krennic shoots Cassian (who falls), while Jyn narrowly escapes. Bodhi gets communications working and notifies the fleet that the force field has be be disabled for the information to be transmitted. He is killed by a grenade bomb thrown by a stormtrooper as he finishes. Baze is inspired by Chirrut's sacrifice and fights until he is also killed by a grenade bomb held in the hands of a fallen stormtrooper.
Jyn finally makes her way to the top of the tower and sees the command console for transmitting data to the rebels. The console prompts her to re-calibrate the antenna, and she does, not knowing that Krennic is headed up. The tower is hit by shots from a duel between rebel and empire fighters and Jyn nearly falls off. Jyn tries to send the data but is intercepted by Krennic. He claims that she will die and her rebellion will die with her but a surprisingly alive (though heavily injured) Cassian appears and shoots Krennic, who falls.
Above the planet, the Rebel fleet engages several Imperial star destroyers. When one is disabled, Admiral Raddus orders a Corvair Hammerhead to force the ship into another star destroyer, which plummets into the gate, deactivating the shield, allowing transmissions off the planet. Jyn starts the transmission, sending the Death Star plans to the Rebels. As the plans are received, the Death Star arrives from hyperspace. Governor Tarkin watches the carnage from the space battle and aims the Death Star at the base on Scarif.
While Scarif is about to be destroyed, the Rebel fleet retreats to note the sacrifice of the Rogue One. Jyn and Cassian, having transmitted the plans, hold hands and embrace on a beach as the beam obliterates them and the facility.
On board Raddus' ship, the Rebels frantically copy the plans to a data card. The ship is boarded by Darth Vader himself, who ignites his light saber and effortlessly wades through a squad of Rebels trying to stop him, deflecting blaster bolts and using the force to shove them aside. The plans are passed to another rebel soldier behind a jammed hatch. As the last of the squad are massacred, a smaller ship, Tantive IV, is launched and speeds away while Vader looks on.
On the Tantive IV, the data card is brought to the bridge by Captain Raymus Antilles, where a familiar figure clad in white receives it: a young Princess Leia (Ingvild Deila, voice: Carrie Fisher). When asked what was sent, the Princess only smiles and answers "Hope." Tantive IV jumps to hyperspace.