We jump right back in where the story left off: Voldemort has stolen the Elder Wand from Dumbledore's tomb.
What's the Elder Wand? Oh, only the most powerful wand in the world, according to legend. And Voldemort has it. (Yeah—we're off to the races right away.)
So, Harry and his pals are in an extra hurry now to figure out where the rest of these Horcruxes are and destroy them. To that end, they interview Griphook, a goblin who worked at the Gringotts bank and got mixed up in Harry's drama at the end of the last film when the kids were trying to escape from Malfoy Manor.
From that whole escapade, Harry has realized that Bellatrix probably has one of the Horcruxes in her vault, and he wants Griphook to help him retrieve it. Griphook agrees, but only on the condition that Harry give him the Sword of Gryffindor in return. Sure, the sword is what they were planning to use to destroy the Horcruxes, but step one is getting the Horcrux, right? So, Harry agrees.
Unfortunately, the trip to Gringotts doesn't exactly go smoothly. The bank seems to have been warned that imposters might be trying to get into Bellatrix's vault, and even when Harry and the others manage to get over the first hurdle, they get into serious issues once they actually enter the vault: Bellatrix's treasure has a spell on it that causes it to multiply when touched, so the kids end up nearly swallowed in a mountain of duplicate treasures.
Then, when they get past all that nonsense, Griphook kind of leaves them in a lurch after he's gotten his hands on the Sword of Gryffindor. After all, in his view, he only promised to get them into the vault, not out of it. So, he scurries off, leaving the kids behind.
Luckily, this crew is resourceful, and Harry, Hermione, and Ron use a dragon that has been imprisoned in Gringotts' basement to ride out of the bank.
Once they've gotten a safe distance from the bank (and uh, the entire city), the kids jump off the dragon's back. When he hits the water, Harry gets a flash of what's going on in Voldemort's mind, and it's not good: Voldemort knows that they're after his Horcruxes, and he's not pleased.
Oh, but one good thing comes from the vision: when Voldemort's thoughts turn to Hogwarts, Harry realizes that one of the Horcruxes is probably there. So, he and the gang head back there to see if they can find it.
When they arrive in Hogsmeade (you know, the town near Hogwarts), they immediately trip some kind of magical alarm that alerts the Death Eaters to their presence. They take refuge in a nearby house, and the owner turns out to be none other than Aberforth Dumbledore. Yup, that's right—Albus Dumbledore's brother.
As it turns out, he's the person Harry's been seeing in that little piece of magic mirror he's been carrying around. Aberforth sent Dobby to help Harry at the end of the last movie, and he makes himself useful now (after some balking) by helping the kids get into the school via a secret passage behind one of his paintings.
Once Harry enters the school, it's chaos. Voldemort shows up outside and starts threatening to make all kinds of trouble if the school's inhabitants don't turn Harry over within the hour. The Order of the Phoenix show up, ready to fight alongside the rest of the students (excluding Slytherin, natch) and professors.
It's going to be a battle, y'all.
But Harry isn't focused on the fighting part just yet, since he still needs to find the Horcrux hidden in the school. With Luna's help, he figures out that the object is likely Rowena Ravenclaw's lost diadem, and that he should talk to the Grey Lady (Ravenclaw Tower's resident ghost) to find out where it is.
It takes some coaxing, but Harry eventually gets what he needs from the Grey Lady (a.k.a. Rowena Ravenclaw's deceased daughter): The crown is in the Room of Requirement. So, Harry hightails it over there.
Unfortunately, things go pear-shaped there as well (what, did you expect any step of this story to be easy?). Malfoy and his lackeys, Crabbe and Goyle, trail Harry into the room because Harry has Malfoy's wand, and Malfoy wants it back.
Hermione and Ron show up to assist, fresh from destroying the Horcrux stolen from Bellatrix's vault, but the room literally ends up engulfed in flames before it's all over, and Harry, Hermione, Ron, Draco, and Goyle barely make it out (Crabbe? Not so lucky, we're afraid).
But anyway, Harry has achieved his goal: he's got the Horcrux. Using a fang that Hermione and Ron stole out of the Chamber of Secrets, they destroy the diadem.
Since Voldemort has strong reactions whenever these Horcruxes go bye-bye, the destruction of the diadem causes Harry to have yet another flash of Voldemort's thoughts. From that, he finds out that Nagini is the last Horcrux, and Voldemort is thinking about how to keep her safe.
In order to get a sense of where to find Voldemort, Harry then deliberately goes back into Voldemort's mind and learns that Voldemort and the snake have gone to talk to Snape by the water. Harry knows where they need to go.
When they arrive, they see Voldemort attack Snape, since he believes that's the only way to make sure the Elder Wand's allegiance is to him. Voldemort and the snake leave, and when Harry rushes to Snape to try to help, Snape makes Harry take his tears so he can use them to view his memories in the Pensieve in Dumbledore's office. Snape then dies gazing into Harry's eyes.
Then, Voldemort makes another public service announcement to everyone on the Hogwarts grounds: Harry needs to meet him in the Forbidden Forest soon, or Voldemort is going to kill everyone that is helping him. Yikes—these kids are really running out of time.
Harry heads back into the castle to view Snape's tears in the Pensieve before worrying about all that, but he has to walk through a whole bunch of carnage on his way. Fred Weasley is dead, as are Tonks and Lupin. Harry is upset, but he knows he has to continue his mission—and that includes looking at whatever Snape wanted him to see in his memories.
And boy, is that memory a doozy. You can see the detailed summary for all the deets, but the two biggest things we learn from the memory are:
1. Snape has been loyal to Dumbledore this entire time. And he only killed Dumbledore because Dumbledore—who was already dying—asked him to.
2. Turns out, Voldemort made one extra Horcrux that he didn't mean to: Harry. And that means Harry has to die in order for Voldemort to die. So, uh, that's some bad news.
Harry leaves Dumbledore's office in shock, and heads pretty much directly to the Forbidden Forest. There, he lets Voldemort fire the Killing Curse directly at him. Yes, really—just like that.
Cue "The End," right?
Well, not exactly. After Voldemort "kills" him, Harry seems to end up in some kind of limbo talking to Dumbledore. There, he learns that while the part of Voldemort that lived within him has been destroyed, he (Harry, that is) can still choose go back to the land of the living to keep fighting.
He seems kind of tempted to stay with Dumbledore and away from all that drama, but you know Harry…he's not going to leave his friends to fight and die without him.
So, he goes back to the world of the living and fakes dead for a little while so he can catch Voldemort off guard. That plan works, and after Neville kills Nagini, Voldemort is so weak that when he and Harry cast dueling spells at each other, Harry's spell overtakes his and he disintegrates into thin air.
Voldemort has been defeated. Ta-da!
Lots of folks have been lost along the way, but Harry, Hermione, and Ron get a happy ending, finally. We even get to see a flash-forward to their lives as adults, sending their own kids off to Hogwarts. For a movie with tons of death, it's a pretty warm and fuzzy ending.