Oregon was searching for the game-winning run for four straight innings, leaving 15 runners on base. Oregon (12-8, 2-3 Pac-12) was deadlocked with No. 20 Arizona State (21-1, Pac-12 4-1) in the 12th inning.
Max Foxcroft opened up the inning for Oregon with a strikeout giving the Ducks only two more chances in the bottom of the 12th, but they only needed one.
Evan Williams, who entered the game in the top of the 11th for Vinny Tosti, was down 1-2 in the count. Williams saw a ball come right down the middle and sent a solo shot over left-center to hand the Sun Devils their first lost of the season in extra innings.
The Ducks found their offense in the bottom of the third inning. They loaded the bases after Sam Novitske singled, Jonny DeLuca walked and Spencer Steer was hit by a pitch, bringing up Gabe Matthews. Matthews earned a walk to bring in Novitske, followed by Aaron Zavala, who reached on a fielder's choice to drive in DeLuca. Foxcroft extended Oregon's lead to 4-0 after hitting a single to right field to score Steer and Zavala.
The Sun Devils did not respond until the seventh inning in large part to the pitching of Robert Ahlstrom. Ahlstrom went six innings, giving up five hits and striking out eight batters. The trouble would start after Ryne Nelson came in for relief of Ahlstrom.
Spencer Torkelson hit a single down the left-field line to score Sam Ferri and Lyle Lin to cut Oregon's lead down to 4-2.
The Sun Devils continued to rough up Nelson, who pitched five innings and gave up four runs on five hits. In the top of the eighth inning, Carter Aldrete hit a double to right center to bring in Alika Williams. Gage Workman brought in the game tying run hitting a single up the middle to score Aldrete.
Arizona State couldn't muster any more runs prior to the walk-off home run by Williams.
Now, with the series tied 1-1, the Ducks will look to win the series Sunday at 12 p.m. at PK Park.
Follow Gabriel Ornelas on Twitter @gabe_ornelas