Match ends, St. Johnstone 1, Inverness CT 0.
Chris Kane's late goal was enough to give St Johnstone only a second win in their last 12 Premiership games.
Kane made it five for the season just when 10-man Inverness CT looked like escaping with a draw.
The Highlanders' captain Gary Warren was sent off for two yellow cards in the space of five second-half minutes.
The second came when he took down Danny Swanson in the penalty box but David Wotherspoon's penalty was saved shortly before Kane's close-range winner.
Victory moves Tommy Wright's side above Dundee into fifth place and level on points with Ross County.
It was just reward for a much improved performance in the second half.
Illness rather than injury restricted the attacking options open to John Hughes as Miles Storey and Andrea Mbuyi-Mutombo were sidelined with flu.
That denied the Caley Thistle manager his top scorer and the man whose late goal at Easter Road on Sunday booked the Scottish Cup holders a replay against Hibernian.
Former Cambridge United striker Liam Hughes was given a first start up front but it was Jordan Roberts who missed a great chance to give the visitors an early lead.
Liam Polworth's wickedly curling cross from the right was begging to be headed home only for Roberts to steer it the wrong side of the back post.
St Johnstone full-back Darnell Fisher flashed a 20-yard shot over while, at the other end, Iain Vigurs curled a free-kick on to the roof of the net.
The entertainment quotient increased after the interval with St Johnstone in particular showing greater intensity going forward.
Steven MacLean nearly set up Kane for a tap-in while Wotherspoon twice got into good positions only for some brilliant blocking from Caley Thistle defenders to avert the danger.
The pressure clearly unnerved Warren, who picked up two quick cautions that means missing the visit of Hamilton Academical on Saturday.
Goalkeeper Owain Fon Williams bailed the defender out when Wotherspoon stepped up to take the spot-kick that resulted from Warren's foul on Danny Swanson.
The Welshman dived to his right to pull of a terrific block and got a deserved break when the Saints midfielder sent the rebound wide.
But a composed piece of play by Fisher finally helped break the visitors' resistance as he picked out Kane at the back post to clip in the winner.
- 16SwansonSubstituted forCraigat 88'minutesBooked at 90mins
- 9MacLeanSubstituted forCumminsat 83'minutes
- 25Fon Williams
- 20PolworthSubstituted forHornerat 88'minutes
- 5WarrenBooked at 68mins
- 16TanseyBooked at 90mins
- 27VigursBooked at 90mins
- 11RobertsSubstituted forWedderburnat 74'minutes
- Don Robertson
- Shots on Target
Second Half ends, St. Johnstone 1, Inverness CT 0.
Liam Craig (St. Johnstone) is shown the yellow card.
Iain Vigurs (Inverness CT) is shown the yellow card.
Greg Tansey (Inverness CT) is shown the yellow card.
Greg Tansey (Inverness CT) has gone down, but that's a dive.
Foul by Christopher Kane (St. Johnstone).
Ross Draper (Inverness CT) wins a free kick in the attacking half.
Murray Davidson (St. Johnstone) wins a free kick in the defensive half.
Foul by Greg Tansey (Inverness CT).
Substitution, Inverness CT. Lewis Horner replaces Liam Polworth.
Substitution, St. Johnstone. Liam Craig replaces Danny Swanson.
Iain Vigurs (Inverness CT) wins a free kick in the defensive half.
Foul by Darnell Fisher (St. Johnstone).
Goal! St. Johnstone 1, Inverness CT 0. Christopher Kane (St. Johnstone) left footed shot from the centre of the box to the bottom right corner.
Attempt missed. Danny Swanson (St. Johnstone) right footed shot from outside the box is close, but misses the top right corner.
Substitution, St. Johnstone. Graham Cummins replaces Steven MacLean.
Danny Williams (Inverness CT) wins a free kick in the attacking half.
Foul by Simon Lappin (St. Johnstone).
Danny Williams (Inverness CT) wins a free kick on the left wing.