A double from captain Graeme Shinnie earned Aberdeen victory over St Johnstone in the Scottish Premiership, to equal a club-record seven straight away wins.

Shinnie curled in the opener at McDiarmid Park after a superb break from Dominic Ball.

And the Englishman turned provider again as Shinnie drove in a second to secure the points with 15 minutes left.

The result edges Aberdeen to within two points of Rangers in second.

Derek McInnes' side remain third and extended their lead over Kilmarnock to four points.

Defeat for St Johnstone means they stay seventh, after Hibernian moved above them into the top six on Friday. Tommy Wright's side are now without a win in seven games.

Ball and Shinnie combine to down Saints

Ball was drafted into the visitors' line-up at right-back as cover for the injured Shay Logan, who could miss the rest of the season with an ankle injury. On this display, though, Aberdeen fans will not be overly concerned as the on-loan Rotherham player looked solid defensively and linked twice with Shinnie for the goals.

Ball did start slowly but Matty Kennedy - St Johnstone's best player on the day - tormented him in the early stages. The Englishman would have his revenge to brilliantly set up the opener.

He pick-pocketed Kennedy and charged forward. The sensible option looked to be to slip in Greg Stewart to his right, but he cut in and fed Shinnie to his left and the Aberdeen captain did the rest. He shifted the ball on to his weaker right foot past Jason Kerr and curled a fine shot into the far corner.

The goal came at a crucial moment as it stemmed the St Johnstone tide. Before it Andy Considine had to lunge to desperately block a close-range Kennedy strike and Liam Craig then missed from six yards while on the floor, scuffing straight at Joe Lewis.

Referee Euan Anderson was in lenient mood. Shinnie, among others, could have been booked for some meaty challenges, then Chris Kane was yellow carded after he clipped Shinnie as the midfielder superbly denied him a shot at Lewis.

Shinnie was key again as Connor McLennan passed up a glorious chance to double Aberdeen's lead after the break, firing over from eight yards after Shinnie had bustled into the hosts' box to tee him up.

And the former Inverness player struck the decisive blow to double his tally for the season, now at four, in one match. Ball again broke up play as St Johnstone poured forward, and after he fed his captain, Shinnie was given the freedom of Perth to roam forward and unleash a low drive into the bottom corner.

For their part, St Johnstone offered plenty of endeavour but displayed the conviction of a team without a win and with just one goal in six games. Kennedy's drive across goal at 1-0 came off Michael Devlin and then a post, and that was as close as they came to inflicting any damage on Aberdeen after the interval.

Shinnie celebrates his second, which secured the points for Aberdeen

'Shinnie the heartbeat of Aberdeen' - analysis

BBC Scotland's Tyrone Smith at McDiarmid Park

Shinnie showed why he is the heartbeat of this Aberdeen team, with a typically commanding performance. The Aberdeen skipper took the game by the scruff of the neck to drive them on to a big win at a difficult venue.

And it wasn't just about his two goals, he was at the centre of everything positive about Derek McInnes' side. His all-action display further demonstrates why his manager is desperate for him to sign a new deal.

While we await an outcome to those discussions, Aberdeen fans will be hoping that Shinnie, who they revere as 'one of their own', can put pen to paper and continue to drive Aberdeen forward for a few more seasons.

'The goals were preventable' - reaction

St Johnstone manager Tommy Wright: "We deserved something from the game, no question about it. If Liam [Craig] gets something better on it, he probably scores.

"The second half was very even, it was end-to-end, we hit the post. But we give the ball away cheaply again and it's another great strike from Shinnie. The two goals were certainly preventable."

Aberdeen manager Derek McInnes: "We had to be competitive. Some of our play was good and we scored at the right time.

"By and large, once we got in front, we had relative control of the game, but you're never too comfortable at St Johnstone. To come away from home to a difficult venue and get the three points was important."