Another night of extraordinary drama in the Championship play-off semi-finals culminated in Cardiff City winning on penalties and moving within 90 minutes of a place in the Premier League. Yann Kermorgant's ridiculous attempt to chip David Marshall from the spot handed the initiative to Dave Jones's side and when the Cardiff goalkeeper made a superb save to deny Martyn Waghorn from Leicester's fifth and final penalty kick, the outcome was settled.

Cardiff, after an exhilarating start, had seemed to be on their way out in normal time after Andy King put Leicester 3-1 up on the night and 3-2 ahead on aggregate. But Peter Whittingham's 25th goal of the season, after Alex Bruce fouled Michael Chopra in the penalty area, forced extra time. Leicester's Nolberto Solano was fortunate to get away with a handball in the added period but Cardiff ultimately made it through to a meeting with Blackpool at Wembley on Saturday week.

Cardiff, holding a 1-0 lead from the first leg, did not need to attack but they took the game to Leicester from the outset with their fluent, easy-on-the-eye passing game and the only surprise was that 22 minutes had passed before they earned a reward. Five scoring chances had been and gone as the effervescent Jay Bothroyd wreaked havoc with his adroit link-up play, yet come the interval, that electricopening period felt like a trick of the mind.

By then Leicester had gone ahead on the night and levelled the aggregate score. It was quite a turnaround and it was one that owed much to Steve Howard. The striker's aerial presence created Leicester's equaliser – he flicked the ball on for Matty Fryatt to drill a volley that Marshall was unable to keep out, despite getting a good hand to the ball. Howard also set up Leicester's second, 11 minutes later.

It was a poor goal to concede. Bruce launched a free-kick from inside the Leicester half and Howard climbed highest to head the ball towards the six-yard box, where it glanced off the unfortunate Mark Hudson and beyond Marshall. The goal changed the complexion of a game that could easily have been beyond Leicester at the midway point in the first half, when Cardiff were in complete control.

Whittingham squandered a chance inside the first four minutes, when he dragged a shot wide with only Chris Weale to beat, and moments later the Leicester keeper was parrying a free-kick from the same player. The breakthrough had to come and it was inevitable Bothroyd would be involved, the forward flicking Stephen McPhail's diagonal pass into the path of Chopra, who drilled under Weale.

How Leicester recovered from that setback. Having ended the first half on top, they started the second half in the same mood and scored a third goal with ease in the 49th minute. Paul Gallagher swung in a centre from the right flank, after his corner had been blocked, and King outjumped Joe Ledley to head past Marshall from eight yards and leave Cardiff chasing the game.

A lifeline arrived in the 69th minute when Bruce clipped Chopra in the area. Whittingham, who had cleared another King effort off the line moments earlier, converted from the spot and Bothroyd came within inches of adding a third Cardiff goal two minutes later, when his left-footed shot cannoned off the crossbar. Now it was Leicester's turn to hang on as Jack Hobbs hacked the ball behind after Chopra beat Weale and Whittingham rattled the bar with a free-kick.