St Johnstone 1-0 Inverness CT
Steven MacLean kept St Johnstone's European hopes alive with a late winner against Inverness, who had David Raven sent off early on.
Referee Craig Thomson dismissed the defender for a professional foul on Rowan Vine in the 12th minute.
Gregory Tade and Mehdi Abeid hit the woodwork as the hosts pressed.
But the breakthrough came when Nigel Hasselbaink crossed for MacLean to head past Antonio Reguero, putting Saints fourth in the Scottish Premier League.
For long periods it seemed St Johnstone's profligacy in front of goal, which manager Steve Lomas has bemoaned many times this season, would again prove to be their undoing.
However the Perth side's ambitions were livened, and Caley Thistle's dented, by MacLean's 77th-minute strike while Inverness's grip on the third position that will guarantee a Europa League qualifying place looks a little bit looser.
Saints took the game to Inverness in the opening period, with Tade teeing up Abeid to shoot over from 12 yards.
Raven was judged to have fouled Vine as the forward chased a MacLean pass following visiting goalkeeper Reguero's mis-hit goal-kick.
Thereafter it was one-way traffic as the Perth side sought to make the most of their one-man advantage as soon as possible.
Kilmarnock-bound Reguero began to thrive as he protected the Inverness goalmouth, smothering Abeid's close-range effort and turning Vine's pile-driver of a free-kick round his post.
The sturdiness of the Spanish stopper's goal-frame was tested too. Tade's flick hit the outside of the post from Tam Scobbie's cross before the lively Abeid, on-loan from Newcastle, cut in from the left to curl the ball off the crossbar.
But Abeid's departure due to injury prompted a 10-minute spell prior to the break when Caley Thistle edged back into the contest.
Steve Lomas's side squandered another opportunity when Tade's second-half corner was headed wide at the back post by Steven Anderson.
Then Liam Craig's 25-yard free-kick, destined for the top left-hand corner, prompted more Reguero heroics.
Saints' pressure finally paid off with 15 minutes left as MacLean headed home his eighth goal of the season.
He benefitted from excellent work by substitute Hasselbaink, who jinked past Josh Meekings on the left-hand side before poking a cross with the outside of his right foot in MacLean's direction.
Further industry from Hasselbaink almost ended with Gwion Edwards tapping in an injury time second.