Two goals in three second-half minutes gave St Johnstone victory over Aberdeen as they extended their unbeaten run to eight games.

With Aberdeen seeking a fifth straight home win, it was always going to be a tight affair and both sides struggled to create first-half chances.

The visitors' Ross Callachan may have had a penalty just after the break.

But a Joe Shaughnessy header and Blair Alston's fine drive ensured a fourth away win in a row for the Perth side.

The triumph, a day after manager Tommy Wright signed a contract extension until 2022, keeps St Johnstone fifth, two points behind Hearts with a game in hand.

Aberdeen are brought back down to earth after their midweek win over Rangers and slip to seventh behind Livingston.

Captain Shaughnessy helps sink former side

Aberdeen and St Johnstone came into the game on a high, but they have scored fewer goals than any of the other sides in the top six and it was easy to see why as they both looked toothless in front of goal.

The hosts' Connor McLennan and the visitors' Callachan, who had come into midfield in place of midweek scorer Alston, both fluffed their lines from close range.

Stevie May, given his chance up front for Aberdeen thanks to Sam Cosgrove's suspension, ought to have done better than flash a shot across goal.

Meanwhile, Matty Kennedy forced an excellent save from home goalkeeper Joe Lewis with a powerful volley and visiting number one Zander Clark had to beat away a Scott McKenna header.

St Johnstone should have been presented with a chance to break the deadlock early in the second half, when Shay Logan slid in on Callachan. Replays suggested the right-back took the legs away from the midfielder, but referee Don Robertson waved away irate appeals.

It looked like it was going to be one of those days bereft of goals, with Aberdeen extending their unbeaten run against St Johnstone to five games, until the hosts were hit with a double blow.

Captain Shaughnessy climbed above the defence to head home from a corner. Then Alston showed neat footwork before sending a looping drive over Lewis for his second in two games.

Niall McGinn, who had been dropped to the Aberdeen bench, forced Clarke into a fine save with a curling free-kick, but by then the three points seemed destined for McDiarmid Park.

Blair Alston (right) has scored twice in two games

Saints justify superlatives against tiring Dons - analysis

BBC Scotland's Tyrone Smith at Pittodrie

The way St Johnstone have been playing this season, we shouldn't be surprised by their win at Pittodrie. But a 2-0 victory at a ground where few teams win will still raise a few eyebrows. However, the Perth side are built on solid foundations, with plenty of quality too.

The superlatives are rightly being used to describe the job Wright continues to do in Perth and they are now eight games unbeaten - brilliant form by anyone's standards. And, with the manager having just signed a new deal, there really appears to be no reason why his team can't continue to go from strength to strength.

As for Aberdeen, manager Derek McInnes says his team looked tired. Getting that freshness back will be difficult with such a busy schedule over the coming weeks.

'We looked leggy and lacked intensity' - reaction

Aberdeen manager Derek McInnes: "I thought, first half, we had the better of the game but in the second half, the physical exertions of the last two games in Glasgow against the Old Firm started to take its toll and we started to look leggy and lacked intensity.

"I think that's understandable for a lot of them, but I was looking for more from those who didn't start those two games to give us a spark and help the team out."

St Johnstone manager Tommy Wright: "Last season, we didn't have a good record against Aberdeen and lost to them three times - we've now drawn with them and beaten them and I think that shows how far we've come on and improved.

"We haven't reached 38 points, where you would normally not be relegated, so our targets haven't changed."