With the score at 1-1 on aggregate after extra time, City held their nerve to beat the Eagles 3-1 on penalties. Palace's goalscorer from the first leg, Anthony Gardner, was at fault for Cardiff's opening goal, which came after just seven minutes.
The former Spurs and England centre-half headed Don Cowie's low cross past Julian Speroni and into his own net. With the tie level on aggregate, the Bluebirds were the more adventurous side and threatened to take the lead through Kenny Miller. The Scotland international first dragged a shot wide when through on goal and was then denied by the post when he shot cleverly on the turn.
Palace failed to really test Heaton but were nearly gifted an opportunity to regain their advantage when Aron Gunnarson dragged down Chris Martin in the box. Referee Howard Webb opted not to award the Eagles a penalty and then angered the visitors further by sending off their skipper, Paddy McCarthy for a second bookable offence.
The defender was shown a yellow card shortly into the second period for a foul on Kenny Miller and again for a tackle from behind on the same player fourteen minutes from time
Despite their man disadvantage, Palace hung on to force the tie into extra time.
Both sides had chances to win the game in the additional thirty minutes, with Peter Whittingham going close for the Bluebirds with a deflected effort while Gunnarson struck the bar with a header.
When 210 minutes could not separate the teams, the tie went to penalties with both sides missing their first spot kicks.
Miller sent his effort over the bar before Heaton saved Jermaine Easter's strike. Craig Conway netted Cardiff's second kick before Heaton dived to his left to deny Sean Scannell.
The Bluebirds scored their next two spot kicks and when Jonathan Parr blasted wide, the Welsh outfit secured a trip to Wembley.
Malky Mackay's side will face either Liverpool or Manchester City in the final.