Match ends, Dundee United 1, Inverness CT 2.
Dundee United 1-2 Inverness CT: Doran header sends Highlanders to Hampden
Aaron Doran's stoppage-time header sent Inverness Caley Thistle into the Scottish Cup semi-final at the expense of Dundee United.
A contentious penalty converted by Nicky Clark looked to have earned United a replay despite the hosts toiling for long spells.
Joe Chalmers had given the visitors the lead with a stunning opener and also hit another shot off the crossbar.
But, with seconds left on the clock, Doran nodded in from close range.
The Highlanders had always looked the more likely to find a winner and had a late header from Nathan Austin chopped off for offside by the slimmest of margins.
Caley Thistle join Celtic in the last four and are back at Hampden for the first time since they won the competition four years ago.
United fail to handle the pressure
Having beaten the visitors in the Championship on Tuesday, United head coach Robbie Neilson said the pressure was on his side to make the semi-final.
If they were feeling pressure, they did not handle it well, with the home side beginning on the back foot and staying there for much of the game.
Early on Doran had a shot tipped wide, then Coll Donaldson and Jordan White went close with headers as the Highlanders looked to take the sting out of a frenzied atmosphere inside Tannadice.
And they soon dampened it completely when they made their early domination tell. Chalmers cut onto his left foot, sized up the goal and curled a delightful shot into the top corner.
Rather than spark United, they retreated further into their shell. A deflected cross fell to Chalmers who thumped a volley against the bar.
Chalmers was the only one showing any quality in the final third though, as both goalkeepers watched a glut of chances fly too high.
It was never likely to be a goal-fest. In the past eight meetings between the pair, the most goals scored had been two.
Jamie McCart had a volley blocked and Charlie Trafford thundered a shot wide as the visitors sought a second goal.
But then, out of nothing, substitute Paul McMullan hit a pass from Ian Harkes first time, and won a corner. Following the set-piece, McMullan went down in the box under White's challenge, and Clark put the resultant penalty into the bottom corner.
The visitors were furious with the decision but were soon creating chances again.
United goalkeeper Benjamin Siegrist got down well to block White's shot, before racing out to deny the same man when he had turned Mark Reynolds.
Austin headed a free-kick into the net but the celebrations were cut short, with TV replays showing his elbow was enough to rule him offside.
After 90 seconds of the three minutes added on, White nodded the ball across goal for Doran who had raced into the box and the little midfielder bravely planted his header past Siegrist.
Winners wanted it more - analysis
BBC Scotland's Jane Lewis at Tannadice
On the first half showing, Caley Thistle wanted it more. They took the lead with a stunning strike from Joe Chalmers, and controlled things thereafter.
Yes, Dundee United got back into the match with a penalty, some thought was soft, but the Highlanders deserved to leave Tannadice with their name in the hat for the semi-finals.
They kept at Dundee United and the heads didn't go down, even when they felt refereeing decisions had gone against them. John Robertson's side showed great spirit and fight and, although the league is their priority, a cup run will do wonders for confidence.
- 8FyvieBooked at 59minsSubstituted forGomisat 64'minutes
- 25SmithSubstituted forMcMullanat 53'minutes
- 14SafrankoBooked at 85mins
- 5DonaldsonBooked at 69mins
- 24TraffordSubstituted forAustinat 77'minutesBooked at 90mins
- 7PolworthSubstituted forRooneyat 90+3'minutesBooked at 90mins
- 10Doran Cogan
- Steven McLean
- Shots on Target
Second Half ends, Dundee United 1, Inverness CT 2.
Nathan Austin (Inverness CT) is shown the yellow card for a bad foul.
Mark Reynolds (Dundee United) wins a free kick in the defensive half.
Foul by Nathan Austin (Inverness CT).
Shaun Rooney (Inverness CT) is shown the yellow card.
Substitution, Inverness CT. Shaun Rooney replaces Liam Polworth.
Goal! Dundee United 1, Inverness CT 2. Aaron Doran (Inverness CT) header from very close range to the bottom right corner. Assisted by Jordan White.
Foul by Morgaro Gomis (Dundee United).
Liam Polworth (Inverness CT) wins a free kick in the attacking half.
Delay over. They are ready to continue.
Pavol Safranko (Dundee United) is shown the yellow card for a bad foul.
Foul by Pavol Safranko (Dundee United).
Jamie McCart (Inverness CT) wins a free kick in the attacking half.
Attempt missed. Jordan White (Inverness CT) header from the centre of the box is high and wide to the left.
Attempt missed. Nicky Clark (Dundee United) header from the centre of the box misses to the right.
Foul by Paul McMullan (Dundee United).
Carl Tremarco (Inverness CT) wins a free kick in the attacking half.
Substitution, Inverness CT. Nathan Austin replaces Charlie Trafford because of an injury.
Delay over. They are ready to continue.
Delay in match Charlie Trafford (Inverness CT) because of an injury.
Attempt saved. Aaron Doran (Inverness CT) right footed shot from outside the box is saved in the centre of the goal.
Attempt blocked. Carl Tremarco (Inverness CT) right footed shot from outside the box is blocked.
Attempt blocked. Jordan White (Inverness CT) left footed shot from the centre of the box is blocked.
Corner, Dundee United. Conceded by Brad McKay.
Coll Donaldson (Inverness CT) is shown the yellow card.
Goal! Dundee United 1, Inverness CT 1. Nicky Clark (Dundee United) converts the penalty with a right footed shot to the bottom left corner.
Penalty Dundee United. Paul McMullan draws a foul in the penalty area.
Penalty conceded by Jordan White (Inverness CT) after a foul in the penalty area.
Corner, Dundee United. Conceded by Coll Donaldson.
Attempt saved. Paul McMullan (Dundee United) right footed shot from outside the box is saved in the bottom left corner.
Substitution, Dundee United. Morgaro Gomis replaces Fraser Fyvie.
Attempt missed. Charlie Trafford (Inverness CT) right footed shot from outside the box is close, but misses to the left.
Attempt blocked. Jamie McCart (Inverness CT) left footed shot from the centre of the box is blocked.
Corner, Inverness CT. Conceded by Mark Connolly.
Attempt blocked. Liam Polworth (Inverness CT) left footed shot from the left side of the box is blocked.
Fraser Fyvie (Dundee United) is shown the yellow card for a bad foul.
Foul by Fraser Fyvie (Dundee United).
Liam Polworth (Inverness CT) wins a free kick in the defensive half.
Attempt saved. Liam Polworth (Inverness CT) right footed shot from a difficult angle and long range on the left is saved in the centre of the goal.