Did you have trouble following everything? We've got you covered. Here's how it all went down—in chronological order.
You can thank us later.
Leonard is an insurance claims investigator who lives with his diabetic wife. He exposes a man who fraudulently claims to suffer from anterograde amnesia, named Sammy Jankis. One night, two junkies break into his house and rape and murder his wife. He kills one of them but the other leaves him with brain damage and gets away.
John Gamel, who goes by Teddy while undercover, is a cop assigned to Leonard's case. While the police don't believe there was a second junkie, Teddy does. He helps Leonard find this man and kill him. During this time, Leonard has set up a routine and has used tattoos and Polaroid pictures to create an artificial memory system for himself. Leonard has also removed pages from his police file to fool himself about his past and about Sammy Jankis.
In some random town, more than a year after the real John G.'s murder, Teddy calls Leonard, who is staying at a Discount Inn. Leonard talks to him for a while, telling him all about the fictional story of Sammy Jankis which is a mixture of the real Sammy and his own story. Eventually Teddy convinces him to meet him in the lobby and go after Jimmy Grantz, a local drug dealer whose initial match the original culprit. Teddy's trying to get rid of a criminal, make money, and help Leonard. He's also using Leonard to do all these things.
Leonard goes to the place, kills Jimmy, and realizes the truth about what he's done and what Teddy has been making him do. He writes notes to himself—including Teddy's license plate number—that incriminates Teddy as being the John G. he's looking for. He then shows up to a bar where Jimmy's girlfriend, Natalie, meets him. Knowing he's associated with Jimmy's disappearance (because he's driving Jimmy's car and wearing his clothes), she uses him to protect her from Jimmy's associates like Dodd…or maybe she sics Dodd on Leonard. We're not sure.
Teddy helps Leonard deal with Dodd after Dodd tries to kill Leonard. Teddy's trying to get away from Natalie because he knows who she is, and she knows his undercover name. But Natalie's lies convince Leonard she'll help him, which she does by running the license plate that Leonard gives her (which we know is John Gamel's [Teddy's] license plate). She also gives Leonard a place to kill him. It's unclear whether or not Natalie knows John Gamel is the Teddy who is responsible for her husband's death.
When Teddy meets up with Leonard again, Leonard takes him to Natalie's place, which is the same abandoned house where he killed her boyfriend Jimmy Grantz. He kills Teddy because he thinks Teddy raped and murdered his wife.
He takes a picture of the dead Teddy and looks at it.