St Mirren gave supporters the perfect early Christmas present after picking up all three points against Aberdeen.
Despite falling behind to a terrific Matty Kennedy strike Saints rallied to pick up a well-deserved victory in a match that saw Stephen Robinson's men awarded three penalties.
In the first match back after a six week break, Saints started brightly - forcing a corner in the first minute. Ethan Erhahon swung the free-kick deep into the box where it met the head of Curtis Main at the far end of the area. The striker's header forced it back into a dangerous area with Marcus Fraser nodding goalward, but it was deflected over.
But it was Aberdeen who took an early lead with Kennedy opening the scoring on 10 minutes. The Dons winger has come close 30 seconds earlier when he rattled the post, but there was no denying his second attempt as he found the top corner with a brilliant effort from 25 yards.
The Buddies steadily grew back into the game after a quiet spell following Aberdeen's goal. A neat passage of play ended with Saints' World Cup hero Keanu Baccus having an effort blocked by the Dons defence before Erhahon volleyed wide from just inside the box.
Baccus was involved again on 35 minutes when he robbed the ball deep in the Aberdeen half and slipped in Jonah Ayunga. The Saints striker took a couple of touches to fashion a bit of space before firing his shot over.
Immediately after that chance there was drama as Aberdeen captain Anthony Stewart was shown a red card for the visitors for bringing down Ayunga. VAR checked the incident - which began outside, but ended inside - and awarded Saints a penalty. Captain Mark O'Hara stepped up and, although his effort hit the post, it came back off Roos and found the back of the net to draw us level heading into half-time.
Saints were awarded a second penalty into six minutes into the second-half when Roos brought down Curtis Main. The striker did brilliantly to break on to the loose ball and he was taken out by the Dons goalkeeper. O'Hara made sure it was his this time as he smashed into the net to put us in front.
Mark O'Hara nets from 12 yards to give us the lead (Image: Allan Picken)
Astonishingly, the Buddies were awarded a third penalty kick of the match when Ayunga was sandwiched between Ross McCrorie and Liam Scales. The striker stepped up to take this one rather than O'Hara but had it saved by Roos.
With just over 15 minute of normal time remaining Saints missed another big chance for a third when Declan Gallagher rose the highest to meet a corner at the far post but headed over. Two minutes later Aberdeen gave the Buddies a warning that this match was far from over when Ylber Ramadani cracked the bar from inside the box.
Aberdeen were causing the pressure heading into the final 10 minutes as they desperately searched for an equaliser. It looked like they were about to find one when substitute Ryan Duncan was a whisker away from heading Kennedy's cross into the net from just a few yards out.
But St Mirren would add a third to put the seal on the points. With Aberdeen goalkeeper Roos up for a corner, Saints managed to get clear and break forward with Kiltie slotting into the empty net from distance to make it a very Merry Christmas for the Buddies.
Full-Time: St Mirren 3-1 Aberdeen
St Mirren: Carson, Fraser, Gallagher, Dunne, Strain, Baccus, Erhahon (Kiltie 46), O'Hara (c), Tanser, Main (Brophy 83), Ayunga (Gogic 90)
Subs Not Used: Urminksy, Shaughnessy, Flynn, Reid, Henderson, Olusanya
Aberdeen: Roos, McCrorie, Scales, Stewart (c), Coulson (Ramirez 66), Barron, Ramadani, Clarkson (Duncan 46), Kennedy, Miovski, Duk (MacKenzie 46)
Subs Not Used: Lewis, Morris, Watkins, Polvara, Richardson, Milne
Referee: Nick Walsh
Assistant Referee: Daniel McFarlane
Assistant Referee: Gordon McCabe
Fourth Official: Barry Cook
VAR: Steven Kirkland
Assistant VAR: David Roome
Attendance: 7,394