The Hoops – who play Rangers in the League Cup Final at Hampden on Sunday – struggled to beat the side bossed by former Rangers player Terry Butcher.
And they had to come from behind to do it after going down 1-0 to a Rooney penalty just before the break.
Adam Rooney slammed in a penalty on 44 minutes after Glenn Loovens had clumsily upended Richie Foran.
But Ledley levelled immediately, turning on a cross from Emilio Izaguirre to drill home.
And the Welsh international sealed the victory with a simple header from a Ki Sung-Yeung free kick midway through the second half.
Neil Lennon’s side will now meet Aberdeen for a place in the final, having thumped the Dons in the last four of the Co-operative Insurance Cup.
Loovens was recalled for his first outing since October to cover for injured centre-half Daniel Majstorovic.
And the Dutchman should have scored after two minutes when he connected with a Kris Commons corner. However, he stooped low and sent an awkward header over the crossbar from five yards.
Inverness keeper Ryan Esson was called into action after 12 minutes when he saved an effort from Izaguirre and Commons fired wide from 25 yards as the home side struggled to impose themselves.
However, the Highlanders were presented with a wonderful chance when a cross from Shane Sutherland dropped perfectly for Foran at the back post.
The Irishman looked certain to score as he met the ball on the half-volley just three yards out but somehow skewed the ball across the face of goal.
Celtic responded with their captain for the night Georgios Samaras powering a header wide from a Ledley delivery.
Inverness broke the deadlock a minute before the interval when Rooney netted from the penalty spot.
The striker smashed the spot-kick beyond the outstretched arm of Fraser Forster after Foran had been felled by Loovens following Russell Duncan’s through ball.
The home fans were still celebrating when Ledley levelled from six yards in the second minute of first-half stoppage time when he did well to control Izaguirre’s bobbling cross before turning smartly and powering in a strike from seven yards.
Ledley had a header saved by Esson early in the second half as Inverness were again caught napping from a Commons corner.
Sutherland thought he had regained the lead for Inverness in the 56th minute when he ran on to a headed knock-down from Foran and let fly with a rasping shot from 16 yards, only to see Forster tip the ball away brilliantly.
Just after the hour the visitors were back in control and Commons fired a powerful 35-yard free-kick just wide.
The decisive goal came on 68 minutes, with Ledley taking advantage of some sloppy defending to saunter into the danger zone and heading in a free kick from Ki.
Moments later, Nick Ross might have equalised when Foran drilled in a cross but the teenager’s effort was deflected wide.
With that chance missed, the challenge of Inverness fizzled out and Celtic controlled the ball for long spells.
Ledley, who had doubled his goal tally for the season, was denied a hat-trick when Esson pushed away his fierce drive in the closing stages.
- 01 Esson
- 03 Tokely
- 14 Munro
- 28 Hogg
- 04 Duff (yellow card)
- 06 Cox
- 08 Duncan
- 19 Ross (Doran 84)
- 09 Foran
- 10 Rooney
- 20 Sutherland (Hayes 73)
- 12 Tuffey,
- 15 Innes,
- 11 Hayes,
- 25 MacDonald,
- 26 Doran
- 26 Forster
- 03 Izaguirre
- 04 Juarez
- 21 Mulgrew
- 22 Loovens
- 16 Ledley
- 18 Ki Sung-Yeung
- 33 Baram Kayal
- 09 Samaras
- 15 Commons (Forrest 65)
- 88 Hooper
- 24 Zaluska,
- 25 Rogne,
- 20 McCourt,
- 10 Stokes,
- 49 Forrest
- Inverness CT 44%
- Celtic 56%
Attempts on target
- Inverness CT 1
- Celtic 6
Attempts off target
- Inverness CT 1
- Celtic 5
- Inverness CT 3
- Celtic 6
- Inverness CT 13
- Celtic 10