The Catalan giants got off to the worst possible start as they fell behind in the 13th minute through a powerful finish from Gorka Elustondo.
Frenchman Ousmane Dembele scored the winning goal for Barcelona in the 66th minute as the champions maintain their ideal start of the season winning the match 2-1.
But Luis Suarez scrambled the ball home in the 63rd minute before Ousmane Dembele converted at another corner.
Barca lead the standings with 12 points after four games although Real Madrid can join them at the league's summit if they win at Athletic Bilbao later on Saturday.
According to BBC, Barca goalkeeper Marc-Andre ter Stegen made two fine saves, denying Real Madrid loanee Theo Hernandez and Juanmi while Mikel Oyarzabal blazed over at the end of a quick counter-attack.
Barcelona were poor in the first half and also capitalised on goalkeeping errors for both goals with Geronimo Rulli missing punches at both set pieces.
La Real could have been further in front but missed three chances shortly before the Barcelona goals.
Visiting coach Ernesto Valverde made a decision to start his side's arguably least favourite away trip without Philippe Coutinho and Sergio Busquets ahead of a jammed schedule of six games in 20 days.
The home side had a slew of chances during an entertaining, end-to-end first half, while Real were twice denied by Athletic's impressive 21-year-old goalkeeper Unai Simon.
The visitors finally beat the youngster when Isco nodded home a cross from Gareth Bale in the 63rd minute as the visitors improved after bringing on midfield anchor Casemiro at the start of the second half.
Atletico had dominated proceedings but were frequently thwarted by Eibar's Serbian keeper Marko Dmitrovic and it took the unlikely figure of academy graduate Garces, 19, to pull them level in the 94th minute, thumping the ball home after controlling a cut-back from Angel Correa.