Inigo Martinez's late header threw La Liga's title race even further open as leaders Atletico Madrid lost at Athletic Bilbao.
Atletico remain two points above both Real Madrid and Barcelona, with Sevilla a point further back in fourth.
But Barca, winners earlier on Sunday at Villarreal, have a game in hand and can go top by beating Granada on Thursday.
Atletico paid the price for a poor first half against a Bilbao side that had lost two Copa del Rey finals - the delayed 2020 showpiece to Real Sociedad and the 2021 edition to Barca - this month.
They could have fallen further behind after Berenguer headed home Ander Capa's cross but Jan Oblak foiled Asier Villalibre's shot and Oihan Sancet wasted two good openings.
Atletico improved after the break, Marcos Llorente drilling just wide from 20 yards before Savic glanced home a corner to equalise - but Martinez powered home a set-piece header to win it.
One of Barca's remaining six league games is at home to Atletico on 8 May.