Even before the third season of 13 Reasons Why dropped on Netflix, fans of the hit teen drama knew what the central question for the new run of episodes would be: Who killed Bryce Walker? Trailers for the season revealed the show's perennial villain would meet a shocking end, but Bryce's death also set off an investigation into everyone who hated him (aka, pretty much everyone). The question of who killed Bryce in 13 Reasons Why looms large over the entirety of Season 3, but fans did finally get the answer in the finale episode.
Spoiler alert: This post contains spoilers from throughout Season 3 of 13 Reasons Why. The structure of the new season somewhat mirrored Season 1, as each flashback-filled episode was largely devoted to an individual character's possible role in Bryce Walker's murder. Each of the motives were laid out by Liberty High's new girl, Ani, in a lengthy statement to Deputy Bill Standall. Through these episodes, viewers learned Clay had developed an incredibly close and nearly romantic relationship with Ani, Zach had become very close to Chloe by helping her through her abortion, Alex began using steroids after his breakup with Jess, Ani had secretly entered into a sexual relationship with Bryce, Justin had relapsed, Tyler had become more confident, and Jess had started a crusade against the jocks at Liberty High after becoming class president.
Yeah, there was a lot going on, and all of these character arcs could have potentially led to anyone being Bryce's killer. The episodes pinged back and forth between prime suspects, until the final few episodes, when the police named Clay a person of interest and it looked very likely that he was going to take the fall for the murder. But in the very end, Bryce's actual murderer was revealed to be Alex, with Zach also having a hand in it and Jess being partially responsible for covering it up.
The murder happened at the pier the night of the Liberty High homecoming game, and it really began with Zach. Prior to the game, Chloe revealed to Bryce that she had been pregnant with their child but chose to have an abortion, and that she had grown close with Zach during that time. Bryce, clearly jealous and incensed at Zach over this news, targeted him throughout the game, and during the massive fight at halftime, he saw his opportunity to get back at Zach by ramming into his leg, breaking it.
Realizing his football career was over, a vengeful Zach followed Bryce to the pier after the game and proceeded to viciously beat him, breaking his arm and leg and leaving him bleeding and immobile on the pier. But Bryce was still alive.
Bryce was at the pier to meet Jess. Before the game, he asked her to meet up with him afterward so he could give her something important, even encouraging her to bring a friend if she didn't feel safe coming alone. Jess arrived with Alex to find Bryce beaten to a pulp on the pier, and after giving her his taped confession and apology, Bryce begged Jess and Alex to help get him home or to a hospital since he could not walk. Jess wanted to leave him there, but Alex decided to help him. However, once he did, the jock began screaming about how he would get revenge on Zach and accused Jess of setting him up to get attacked. In the midst of the outburst, Alex realized Bryce had hurt everyone he ever loved, and pushed him off the pier, killing him.
Alex avoided being convicted for the murder thanks to a convincing lie by Ani that pinned the murder on Monty, who had recently died and could not defend himself. However, Winston, the guy Monty was with on homecoming night, confronted Ani at the very end of the season, revealing he knew Monty did not murder Bryce. So... things could get real ugly for Alex in the upcoming fourth and final season of 13 Reasons Why.