Two years after the events of The Avengers (2012), retired soldier Sam Wilson (Anthony Mackie) jogs around Washington, D.C. Catching up to him very quickly is Steve Rogers, a.k.a. Captain America (Chris Evans). Steve completes multiple laps over Sam until the latter gets tired and sits to rest. Sam joins him and they introduce themselves. Sam is a war veteran and he knows Steve has been adjusting to life in the 21st century, and that he has a lot to catch up on. He recommends that Steve listen to Marvin Gaye's "Trouble Man" soundtrack to get up to speed on the last few decades. Steve adds it to his list, along with things like "Star Wars/Trek" and "Rocky." Steve gets a text telling him to stand by the curb. A car pulls up, driven by Natasha Romanoff, a.k.a. Black Widow (Scarlett Johansson). She greets the two men and Steve hops in the car.
The duo joins other S.H.I.E.L.D. agents led by Brock Rumlow (Frank Grillo) as they fly over the Indian Ocean. A S.H.I.E.L.D. vessel, the Lemurian Star, has been taken over by pirates led by Georges Batroc (Georges St-Pierre). They are holding hostages, including Agent Jasper Sitwell (Maximiliano Hernández). Steve, in his Captain America outfit, dives out of the jet armed only with his shield and no parachute. He lands in the water and climbs onto the ship, beating every goon that comes in his way. Natasha and the other agents drop down to aid Cap. The agents defeat the pirates and rescue the hostages while Batroc tries to run and is caught by Cap. They fight on the deck of the ship, with Batroc getting quickly back up on his feet even when Cap manages to take him down. "I thought you were more than a mask," he says smugly. Steve removes his mask and replies, "Let's find out." He continues the fight and knocks Batroc down for good with his shield.
Steve finds Natasha extracting files from the ship's computer using a S.H.I.E.L.D. flash drive. He calls her out on this as they're supposed to be helping Rumlow get hostages out. She pulls the flash drive out, moments before a pirate runs past and throws a grenade at the two. Steve grabs Natasha and jumps through a window before it explodes.
At the Triskelion, S.H.I.E.L.D. headquarters in Washington DC, Steve confronts Nick Fury (Samuel L. Jackson) about the motives behind Natasha's task. Fury knew Steve wouldn't be comfortable with it, so he asked Natasha. Fury reminds Steve that he can't trust anybody, even those who work closely with him. He takes Steve into an elevator down to the underground level where there are three Helicarriers being worked on as part of Project Insight, an operation that connects the Helicarriers to spy satellites used to prevent any possible terrorist attacks. This is in part a response to the events that took place in New York, but Steve sees this as more of an aggressive form of protection. Fury insists that he get with the program.
Steve visits the Smithsonian Museum to check out an exhibit dedicated to Captain America. A child recognizes him in disguise, but Steve holds a finger to his lips asking the kid not to point him out. The kid understands and keeps quiet. Among the displays are mannequins with costumes of Steve's old commando squad, and one of his old friend Bucky Barnes (Sebastian Stan), whom Steve saw fall to his death (in the first Captain America film). Steve checks out a video of his old love, Peggy Carter (Hayley Atwell), in which she commemorates Steve on his actions as Cap. He later visits an elderly Peggy, who has since been married and had children. She is ill and although she initially appears to recognize Steve, she slips back into a state where she believes she's seeing him again for the first time since he was lost, shocked to see him alive. He merely says, "I couldn't leave my best girl. Not when she owes me a dance."
Fury tries to access the files that Natasha got on the flash drive, but he is unable to get past security, something that was apparently set by himself. He goes to meet with Defense Secretary Alexander Pierce (Robert Redford) as he is meeting with the World Security Council over the matter of the hijacking of the Lemurian Star. Fury tells Pierce that they need to delay Project Insight. Pierce says 'okay', but he wants Fury to have Iron Man stop by his niece's birthday.
Steve finds Sam counseling other veterans suffering from PTSD. After the group meeting, Sam reveals to Steve that he lost his friend Riley in battle in Iraq after he was shot down in the air with an RPG. Despite this, Sam still loves flying. He asks Steve what makes him happy. He doesn't know.
As Fury drives, he contacts Agent Maria Hill (Cobie Smulders) to rendezvous with him. As he stops at an intersection, a police car pulls up alongside Fury's car on his passenger's side. Fury notices that the officers driving the car are looking at him very suspiciously -- perhaps because he's a black man driving a very expensive SUV. The driver hits his siren for a quick second and pulls forward.
Just as Fury pulls into the intersection, another police car appears and T-bones Fury's car on the driver's side, sending it into some bollards. The first police car suddenly stops and backs straight into Fury's car. A third police car simultaneously plows into Fury's car from behind, and several more units quickly arrive, boxing Fury's car in. The first police car to hit Fury then backs up. A second later, a black windowless van screeches to a halt, discharging a full SWAT team. The patrol and SWAT officers draw submachine guns and assault rifles and take up positions around Fury's car. The onboard computer informs Fury that the DC Metropolitan Police dispatch shows no units in the area.
Seconds later, the police officers open fire, riddling the car with bullets. It does them no good, as the car is armored and the windows are made of bulletproof glass. The fake police move to their next strategy: four men from the SWAT team grab a hydraulic battering ram from their van. They unfold a tripod and plant it next to the car. The operator pushes a button so that the tripod drills holes into the pavement to stabilize it, before firing it. Each hit rocks the car sideways and weakens the window drastically. Just as the window's integrity reaches 1%, Fury grabs a hidden minigun and returns fire through the window. Most of the pseudo-cops on the scene are immediately hit and killed, while the SWAT van and one of the police cars are blown up by a grenade launcher. After a prolonged exchange of gunfire, he commands the car to drive itself out. Fury's car takes off with two police cars in hot pursuit.
A lengthy pursuit unfolds through the streets. After forcing their way through stopped traffic, and another running shootout, the two police cars catch up to Fury and begin to trade paint with him. Fortunately for Fury, his onboard computer detects a box truck about to catch up to them at the next intersection. Fury slams on his brakes, while the two police cars continue on and are T-boned by the truck.
Fury commands the vehicle's computer to get him to a safe location and speeds off. Before the computer can find a safe spot for him, he sees the Winter Soldier (Sebastian Stan) standing in the middle of the road. The Winter Soldier shoots a sticky bomb that attaches itself to the underside of Fury's car. It explodes and flips the car over. The Winter Soldier walks over to Fury, ready to finish him off, but he escapes in time by burning a hole through the roof of the car and the street below with a laser weapon.
Steve goes back to his apartment to find his pretty neighbor, Sharon Carter (Emily VanCamp), going to do laundry. He offers to let her use his machine, but she says she just spent a lot of time in the disease ward of the hospital and doesn't want to pass any sickness to Steve. She tells him that he left his stereo on.
Steve hears music as he cautiously enters his house, grabbing his shield for protection. He finds an injured Fury sitting on his couch. Out loud, Fury says his wife kicked him out, but he shows Steve through text on his phone that anybody could be listening. Before he can say anything else, Fury is shot three times. Steve looks out the window for the shooter. Fury hands him the flash drive and tells him not to trust anybody. The neighbor comes in, armed with a gun. She is Agent 13 of S.H.I.E.L.D., and she tends to Fury. Steve runs after the Winter Soldier. Steve smashes through the walls to catch up to the Winter Soldier outside. He throws his shield at him, but the Winter Soldier catches it with one swift move in his left hand, then throws it back to Steve. Steve catches the shield and is shoved back a bit and looks up, only to find the Winter Soldier has disappeared.
Natasha meets up with Steve at the hospital, where they watch doctors operating on Fury. Agent Hill joins them. The doctors try to revive him, but Fury flatlines. They call in his death. Afterwards, Natasha asks Steve why Fury was in his apartment. He claims to not know, right as Rumlow tells him they need him back at S.H.I.E.L.D. Natasha calls Steve a bad liar, and they separate. We see that Steve hid Fury's flash drive behind a pack of gum in the vending machine.
Steve is brought in to speak with Pierce. He also asks Steve why Fury was in his apartment, hoping to find clues to who killed him. They suspect Batroc after he was found the previous night in a safe house. Pierce insinuates that Fury hired the pirates to infiltrate the ship so that he could acquire classified information, and was then killed after the deal went wrong. Steve denies the claim. Pierce asks him again why Fury was there. Steve only says that Fury told him not to trust anybody.
Steve hops on the elevator, which becomes occupied with more S.H.I.E.L.D. agents at each floor it stops at, including Rumlow. Steve notices one agent looking sweaty, and others looking very suspicious, itching for their pistols. He asks anybody if they'd wish to get out, prompting them all to attack him. They strap magnetic cuffs to his wrists and hold an electric stunning rod to him, but Steve overpowers them and knocks everyone out cold. Agent Sitwell sees the battle through a monitor and orders the STRIKE team to get to the elevator. Steve breaks off the cuffs with his shield and sees the STRIKE team heading his way. He breaks off the elevator wires to send the elevator down. The team still approaches, so Steve breaks through the glass in the elevator, falling dozens of floors and hits the plaza, landing on his shield. He runs to the garage and rides out on his motorcycle, evading the obstacles laid out by S.H.I.E.L.D. A Quinjet emerges to shoot at Steve. He throws his shield into the propellers, jamming it, and giving him an opportunity to hop over it and escape.
Sitwell orders S.H.I.E.L.D. agents to be on the lookout for Steve. Agent 13 demands to know why they're issuing a manhunt for Captain America. Pierce comes into the room and brands him a fugitive for withholding information on Fury's death.
Steve goes back to the hospital to retrieve the flash drive from the vending machine, but it's gone. Natasha appears, chewing some gum. Steve pushes her into a room and demands to know what she knows about the mysterious assassin. She knows the assassin as the Winter Soldier. He nearly killed her on a mission in Iran, during which the target she was assigned to protect was killed, and he has reportedly been responsible for over 200 assassinations over the past 50 years. They decide to use the flash drive to find out what they can on the Winter Soldier's whereabouts.
Pierce meets with the WSC members again, defending Fury as a martyr, though they believe he was killed for trying to cover up his own illegal dealings. They all opt to reactivate Project Insight.
Steve and Natasha go to a mall, disguised as a civilian couple. They take the flash drive to an Apple Store and pop it into a MacBook Pro to find signal coming from Wheaton, New Jersey. Natasha tells Steve that they have 9 minutes or less before S.H.I.E.L.D. agents find them. On the way out, the duo spots Rumlow and other S.H.I.E.L.D. agents coming around every corner. Natasha pulls Steve in for a kiss on the escalator to draw attention away from themselves, since public displays of affection make people uncomfortable (and make faces harder to see). The ruse works and Rumlow doesn't spot them.
Steve and Natasha drive where the signal pointed, ending up at an abandoned military base. Steve recognizes it as his old training base in New Jersey, and he briefly envisions his former, smaller self running past him. He and Natasha enter the facility, which is discovered to be an original S.H.I.E.L.D. office. They find framed portraits of Howard Stark and Peggy, along with Col. Chester Phillips. Steve looks behind a bookshelf and uncovers a room full of computers. The only modern type of technology in the room is a small port for the flash drive. Natasha inserts it and activates a computer. A German voice speaks and analyzes the two. The voice belongs to Arnim Zola (Toby Jones), former accomplice of the Red Skull. He transferred his consciousness into a computer once his body failed him because of a disease. Zola tells the duo that his and Red Skull's group HYDRA was formed on the belief that humanity could not be trusted with its own freedom, and after the war, S.H.I.E.L.D. recruited him and other HYDRA operatives, where they conspired against their new employers. He reveals that they were directly responsible for targeting people such as the President, along with causing the car accident that killed Howard and Maria Stark. Zola adds that a missile is heading for their location in less than 30 seconds. Steve and Natasha jump into a hole as the missile hits, destroying the computers. Steve protects himself and Natasha as the place crumbles. Rumlow and his goons search the place to make sure there are no survivors.
In his home, Pierce bids goodbye to his housekeeper, Renata (Branka Katic), just as the Winter Soldier appears in his kitchen. He never speaks a word. Pierce starts to talk to him when Renata comes back to get her phone. Remarking that he wishes she'd knocked, Pierce shoots her twice because she's seen him and the Winter Soldier talking.
Steve and Natasha hide out at Sam's home, knowing they can trust him. Natasha expresses remorse over her involvement with HYDRA agents. Sam decides to use a military project called Falcon to help them.
Back in D.C., Sitwell walks away from meeting Senator Stern (Garry Shandling, reprising his role from Iron Man 2 (2010)). Before they part ways, Stern leans in and whispers to Sitwell, "Hail HYDRA." Sam calls Sitwell's phone and orders him to walk to a car to meet with him and his friends. The heroes force Sitwell up to the roof of a tall building. Steve holds Sitwell over the edge, threatening to drop him. Sitwell knows this isn't Steve's style. Steve agrees... and lets Natasha kick Sitwell off the roof. Moments later, Sam, in his Falcon jet-pack suit with wings, flies up to the roof holding Sitwell. The now terrified traitor confesses that Zola created an algorithm to locate certain people around the world based on personal facts or data. He name-drops Tony Stark (Iron Man), Bruce Banner (the Hulk), and Stephen Strange (hinting at a future Doctor Strange (2016) movie). The targets are picked based on their past actions. This makes Sitwell realize that Pierce may very well kill him.
En route back to the Triskelion, the Winter Soldier jumps onto the heroes' car, pulls Sitwell out through the window, and throws him into the path of a truck. The assassin is joined by other HYDRA agents in attacking the car. Steve pulls Natasha and Sam out, sliding on the car door through the streets. They fight off the villains, with Winter Soldier pursuing Natasha while the HYDRA agents fight Steve and Sam. Winter Soldier thinks he's found Natasha hiding behind a car and he shoots a bomb to her, but it was really a recording played back on a phone. When he does find Natasha, he shoots at her. Steve jumps out and battles Winter Soldier. The assassin is just as fast and even stronger than Steve. Steve manages to remove his mask, and he finally learns the assassin's identity -- Bucky Barnes. Steve stares at the man who was once his friend, unable to believe that he is standing before him alive and trying to kill him. "Bucky?" he asks. "Who the hell is Bucky?" Winter Soldier responds. The HYDRA agents take Steve, Sam, and Natasha into custody.
The heroes are taken in a prison van. Sam notices Natasha is bleeding from her shoulder and tells the guards she needs assistance. One guard pulls out an electric rod, neutralizing the other guard. The first guard turns out to be Agent Hill in disguise. She takes the heroes to a secret facility to treat Natasha, but first she shows them Fury lying in bed, very much alive. He survived with an anti-stress serum developed by Banner, originally to control his Hulk problem. When he and Natasha are a little more rested, they gather with the other heroes over the fact that Project Insight is set to launch within hours -- the Helicarriers will form a triangle and lock sights on their targets around the globe. Fury takes out three chips that they will use to override the Helicarriers' systems. He turns control over to Steve to give orders.
Within a bank, the HYDRA agents work to fix up Winter Soldier's metal arm after his fight with Steve. He has brief flashbacks to his old life, from the fall he took to the moment he was recovered by Zola and the HYDRA agents. His left arm was amputated and replaced with the bionic metal arm. When he began to freak out, Zola had him sedated and later put on ice. Pierce comes in, praising the Winter Soldier's work and asking him to come back to do it again. Winter Soldier asks about Steve, claiming to know him. Pierce orders the agents to get him back to his original killing mindset.
Steve stands on a bridge, reminiscing about his time spent with Bucky. A flashback shows Bucky with Steve after the funeral of Steve's mother. Bucky offers to let Steve stay with his family, and all he'd have to do is shine Bucky's shoes. Sam comes over, prepared to join Steve in the fight. Steve tells him to suit up before going to the Captain America exhibit to get his old suit. The elderly security guard (Stan Lee) sees the suit missing and comments that he's gonna get fired.
The WSC members arrive at the Triskelion, guided by Pierce. He gives them electronic pins that will give them access to anywhere in the building. Rogers and Falcon break into the headquarters. Cap accesses a mic that patches him through to every speaker. He tells the agents of S.H.I.E.L.D. that Pierce is a traitor who is working with HYDRA agents, and that they must stop Project Insight from happening. Rumlow and his goons break into the control room. He forces an agent to release the Helicarriers, but Agent 13 intervenes. She forces Rumlow to drop his gun. He does, then grabs his knife and cuts 13's arm, leading to a gunfight between the S.H.I.E.L.D. and HYDRA agents. Rumlow, amidst the bullets, manages to release the Helicarriers himself.
Cap and Falcon make their way to the Helicarriers as the HYDRA agents shoot at them. Cap gets the first chip into one Helicarrier, while Falcon flies around, avoiding getting shot. He manages to get a heat-seeking missile that was aimed at him to hit a Helicarrier to give him an entrance, allowing him to place the second chip there. Hill, meanwhile, monitors their progress while fighting off HYDRA agents trying to kill her.
Pierce tries to convince the WSC members to join him in support of Project Insight, making it sound like a peaceful effort to subdue potential attacks around the world. He hands Councilman Singh (Bernard White) a glass of champagne, but Singh refuses to join him and tosses the glass. Pierce pulls out a gun and aims at Singh, but Councilwoman Hawley (Jenny Agutter) kicks Singh away, then takes down the other HYDRA goons in the room before taking the gun. She removes her disguise to reveal that she's Natasha. Her backup comes when Fury steps out of a helicopter, to Pierce's surprise. Knowing Pierce probably changed the retinal scan, Fury removes his eyepatch to reveal his scarred dead eye to override Project Insight along with Pierce, as they are the only two agents of the highest degree needed for that. Pierce sets off the pins he gave the council members, which burn deeply into each member's sternum. He threatens to set off Natasha's, forcing her to walk out with him. Natasha activates it herself, burning herself, but not as badly as the others were burned. Fury shoots Pierce twice, killing him. His last words are "Hail HYDRA."
The Winter Soldier is set loose, killing off the S.H.I.E.L.D. agents trying to aid Cap and Falcon in taking down the last Helicarrier. He rips off Falcon's wing and throws him off the Helicarrier. The HYDRA agents begin to lock on their targets, with over 700,000 and counting. Falcon manages to get his parachute out, leaving him grounded. He runs back into the Triskelion to fight Rumlow. Cap confronts Winter Soldier inside the Helicarrier, trying to get through to his best friend by reminding him that millions could die. Unwilling to listen, Winter Soldier battles Cap again. Cap runs to grab the chip and replace it, but Winter Soldier swipes it from him. Cap manages to wound both of Winter Soldier's arms, then puts him in a headlock until he releases the chip. Cap rushes to place the chip into the system, but Winter Soldier shoots him three times. Cap still succeeds in installing the chip, calling Hill to override the Helicarriers. The targets go offline, to the surprise of the dumbfounded HYDRA agents. With the systems overriden, Hill has the Helicarriers open fire upon each other. One Helicarrier crashes into a dam beneath the Triskelion. The second crashes through the Triskelion, catching Rumlow in the destruction. Sam runs like hell out of the window as Natasha and Fury fly their chopper in time to catch him.
The third Helicarrier continues to fall with Cap and Winter Soldier inside. Cap chooses not to fight his friend, dropping his shield out of the Helicarrier. Winter Soldier mercilessly punches him repeatedly across the face, even as Cap chooses to stick it out with him until the end. Before he delivers the fatal blow, Winter Soldier looks at Cap with hesitance, almost as if he is starting to remember. The Helicarrier crashes, throwing Cap out and sending him into the water below. He slips into unconsciousness, but not before seeing a hand reaching out for him. Winter Soldier drags Cap to the shore before walking away for good.
In the aftermath, Steve recovers in a hospital as Marvin Gaye's "Trouble Man" plays. He wakes up to hear the music. We also see Agent 13 at a shooting range, Agent Hill about to undergo a lie detector test at Stark Industries, Senator Stern getting arrested, and Rumlow being treated by doctors, still alive but terribly burnt. Natasha is brought to a hearing to answer for her ties to S.H.I.E.L.D. She defends herself by saying that even if they wanted to put her in an institution, they could not because the council members know they need her and her allies. She coolly walks away. Meanwhile, Fury gets rids of any trace of his existence, including his passports and eyepatch, burning them for good.
Fury meets Steve and Sam at a cemetery at his own grave. On the headstone are Fury's name and the words "The path of the righteous man...." (This is a reference to the fake Bible verse that Samuel L. Jackson's Pulp Fiction (1994) character, Jules Winnfield, liked to quote.) Fury tells Sam and Steve that if anybody asks for him, they only need to come here to his grave.
Fury leaves as Natasha arrives to tell the guys this is Fury's way of saying "Thank you." She hands Steve a file that he wanted, then suggests he ask out Agent 13, whose name is really Sharon Carter. Steve looks at the file, which concerns Bucky and his Winter Soldier transformation. Sam realizes that Steve is going to look for Bucky. Steve tells him that he doesn't have to go with him. Sam replies, "I know. When do we start?"
Baron Wolfgang Von Strucker (Thomas Kretschmann) is discussing recent events with a fellow HYDRA agent in an underground lab somewhere in Europe. Even though some of their agents have been lost, they have many other followers around the world. They are performing an experiment with secret weapons, including Loki's scepter. Von Strucker guides the agent to "the twins" -- Pietro and Wanda Maximoff, a.k.a. Quicksilver and Scarlet Witch (Aaron Taylor-Johnson and Elizabeth Olsen). They exhibit superpowers of their own: Pietro has superhuman speed and Wanda has telekinesis, which she uses destructively. Observing them, Von Strucker comments, "This is the age of miracles..."
Bucky/Winter Soldier walks through the Captain America exhibit at the Smithsonian and comes across the display of himself. He stares at it pensively.