Athletic will meet Barca after the Catalans beat Real Sociedad in a penalty shootout on Wednesday.
The final will take place on Sunday in Seville.
Garcia put the visitors in front after latching on to a through ball and slotting home in the 18th minute and he got his second from the penalty spot seven minutes before the break after Lucas Vazquez had hauled down Inigo Martinez.
Benzema pulled one back for Real with 17 minutes to go when his goal was initially ruled out for offside, but awarded after a VAR review.
The French striker then had another goal disallowed for offside but Athletic held on for the win.