Inaki Williams gave Athletic the lead in the 14th minute, finishing Nico Williams’ through ball to put the hosts ahead.
Real Sociedad responded in the 30th minute when Luka Sucic struck a superb long-range effort into the bottom corner to level the contest.
Athletic restored their advantage just before half-time. Nico Williams won a penalty after being fouled inside the area by Jon Aramburu, and Alex Berenguer converted from the spot in the 45th minute of added time.
Real Sociedad pushed for an equaliser after the break, creating several opportunities through Carlos Soler, Goncalo Guedes and Sucic. However, Athletic goalkeeper Unai Simon produced important saves to preserve his side’s lead.
The visitors continued applying pressure in the closing stages, with Orri Oskarsson coming close with a header in the 88th minute, but Simon made another crucial stop.
Athletic held on through four minutes of added time to secure all three points and a valuable derby victory.