Garcia headed the winner in the fifth minute of added time to clinch Alaves' first La Liga victory over Real since 1931.
The win moves Alaves joint-top of the table alongside La Liga giants Real and Barcelona.
Julen Lopetegui's side have now lost three times in four matches without scoring.
While much of the attention will be on Real Madrid, hosts Alaves deserve credit for a battling display that puts them joint top of the table.
They had goalkeeper Fernando Pacheco to thank in the opening stages as he denied Karim Benzema and Dani Ceballos.
Read also:CSKA Moscow 1-0 Real Madrid: Holders now three games without a goal after shock loss
The visitors struggled to clear many clear-cut openings after the break and as the game wore on they left themselves vulnerable to the sucker punch.
That proved to be the case as Garcia snatched the winner from close range after Ruben Sobrino's initial effort was well saved by Thibaut Courtois.
Read also:No Ronaldo, no fans - Real Madrid have lowest La Liga attendance in 10 years
That was pretty much the last kick of the game, with the final whistle sparking scenes of jubilation inside the Mendizorrotza Stadium as Alaves secured a historic victory.
Barcelona can restore their three points lead the top of the table with a win against Valencia on Sunday.