Getafe got two goals from Daniel Guiza and one each from Javi Casquero and Angel Vivar Dorado to win, 6-5, on aggregate and advance to the final for the first time. It faces Sevilla in the final on June 23.
"I feel terrible, as do all the players," said Barcelona coach Frank Rijkaard. "We left a really bad impression tonight."
Barca did not manage a shot on goal in the first half of the second leg after putting five goals past Getafe in the first game. Lionel Messi, who scored a goal for the ages in the first leg, did not play at Getafe.
Barcelona must regroup for the stretch drive in La Liga race, where it leads with five games remaining, two points ahead of Real Madrid and four in front of Sevilla. If Real Madrid beats Espanyol on Saturday, Barcelona will need to beat Real Betis in Seville on Sunday to keep sole possession of first place.
"We have no margin of error," said Barca veteran Xavi. "We can't afford to draw or lose a match if Madrid wins all its games. We have to use all our power to win five finals and lift the title."
SPAIN (La Liga)
2. Real Madrid (63 pts.) vs. Espanyol (GolTV, live, 2 pm ET)
3. Sevilla (61 pts.) vs. Recreativo Huelva (GolTV, live, 4 pm ET)
1. Barcelona (65 pts.) at Real Betis (WorldSport HD, live, 1 pm ET)