Aberdeen and St Johnstone served up the goalless draw many feared and predicted in the Pittodrie sunshine.
It was the Dons fifth home league clean sheet, while only Rangers have conceded fewer away goals than Saints and the play reflected those statistics.
Fraser Fyvie headed wide from close range to squander Aberdeen's best chance of a lively first half.
And Saints' Francisco Sandaza failed to find the target from a good position as the game fell flat after the break.
The draw means both sides fail in their attempt to move up one place in the Scottish Premier League table.
Aberdeen, who have now gone 10 games without defeat, remain eighth behind Dundee United, while Saints, without a win in five games, stay fifth behind Hearts.
Dons manager Craig Brown handed January signing Gavin Rae his debut in midfield alongside Ryan Jack as Youl Mawene and Rory Fallon dropped to the bench.
It meant Rory McArdle playing in an unfamiliar left-back role despite left-footer Mark Reynolds being in the centre.
And there was immediate uncertainty in the Dons rearguard when a poor Stephen Hughes pass put Reynolds in trouble, but Saints failed to capitalise when Sandaza was caught offside before forcing a save from Jason Brown.
However, it was a Saints defence minus the injured Steven Anderson and the dropped Alan Maybury who were looking the more porous in the early stages.
Scott Vernon wriggled free of his marker and powered into the box only to stumble as he sent a weak shot trundling straight at goalkeeper Alan Mannus.
Kari Arnason's fine ball found Mitch Megginson in a similar position, but the forward pulled his shot well wide from 18 yards after the Saints defence stood off the teenager.
Fyvie had a more clear-cut chance but he steered a header wide from 14 yards after being found unmarked in a crowded penalty box by Ryan Jack's cross.
Possession was fairly even between the sides, but Saints, despite the influential Callum Davidson and Dave Mackay returning to the line-up after the midweek Scottish Cup defeat by Hearts, were relying heavily on individual moments of flair from Sandaza or their opponents mistakes to make any headway.
The Spaniard spun away from his marker to send a low drive wide, intercepted a poor Reynolds pass before firing straight at Brown then had another 18-yard effort squirm under the goalkeeper before it was grabbed at the second attempt.
Hughes' through ball sent Vernon clear on the edge of the box and the Dons striker sent a powerful, dipping effort curling just wide of the near post.
Play failed to match the brightness of the winter sunshine as the two sides struggled to cope with a difficult pitch and it was 12 minutes into the second half before the first chance was created after the break.
After being teed up by Cillian Sheridan 16 yards from goal, Sandaza fired wildly over the Dons crossbar before the Spaniard set up Chris Millar for a shot blocked in front of goal.
Arnason forced Mannus into a save with a 25-yard drive, fired another long-range effort a couple of feet wide then substitute Mohamed Chalali hooked an effort just past the same upright as the Dons exerted some late pressure.
St Johnstone substitute Marcus Haber headed wide under pressure from close range as the last chance of the game slipped away.
Full Time The final whistle is blown by the referee.
Marcus Haber has a headed effort at goal from close in which goes wide left of the goal.
Free kick awarded for an unfair challenge on Andrew Considine by Francisco Sandaza. Mark Reynolds restarts play with the free kick.
Foul by Rory McArdle on David MacKay, free kick awarded. Free kick taken by Alan Mannus.
Booking Caution for Murray Davidson.
The ball is swung over by Kari Arnason, Effort on goal by Mohamed Chalali from just inside the penalty area goes over the target.
The referee blows for offside against Scott Vernon. Indirect free kick taken by Alan Mannus.
Kari Arnason has an effort at goal from just outside the box which goes wide of the right-hand post.
Lee Croft fouled by Mark Reynolds, the ref awards a free kick. Indirect free kick taken by Alan Mannus.
Frazer Wright concedes a free kick for a foul on Darren Mackie. Andrew Considine takes the free kick.
Kari Arnason has an effort at goal from 25 yards. Alan Mannus makes a save.
Liam Craig challenges Andrew Considine unfairly and gives away a free kick. Free kick taken by Jason Brown.
Substitution Marcus Haber joins the action as a substitute, replacing Cillian Sheridan.
Daniel Uchechi delivers the ball, Shot by Darren Mackie from deep inside the penalty area misses to the left of the goal.
Darren Mackie is flagged offside by the assistant referee. Free kick taken by Alan Mannus.
Substitution Mohamed Chalali comes on in place of Mitchel Megginson.
Liam Craig handles the ball and concedes a free kick. Jason Brown takes the free kick.
Fraser Fyvie takes a outswinging corner from the right by-line to the near post, clearance made by Cillian Sheridan.
Ryan Jack sends in a cross, clearance made by Frazer Wright.
Francisco Sandaza sends in a cross, save by Jason Brown.
Unfair challenge on Mitchel Megginson by Callum Davidson results in a free kick. The ball is swung over by Fraser Fyvie, Header by Scott Vernon from deep inside the penalty area misses to the right of the target.
Lee Croft delivers the ball, clearance by Rory McArdle.
Substitution Darren Mackie is brought on as a substitute for Gavin Rae.
Foul by Gavin Rae on Jody Morris, free kick awarded. The free kick is swung in right-footed by Liam Craig.
Substitution Chris Millar goes off and Lee Croft comes on.
Inswinging corner taken by Jody Morris, Gavin Rae makes a clearance.
Mark Reynolds gives away a free kick for an unfair challenge on Cillian Sheridan. Free kick taken by Callum Davidson.
Effort on goal by Francisco Sandaza from just inside the penalty box goes harmlessly over the target.
The ball is sent over by Mitchel Megginson.
Daniel Uchechi takes a short corner.
Daniel Uchechi crosses the ball, David MacKay gets a block in.
A cross is delivered by Fraser Fyvie, Header by Kari Arnason from deep inside the penalty area misses to the left of the target.
Booking Frazer Wright receives a caution for unsporting behaviour.
Free kick awarded for a foul by Frazer Wright on Daniel Uchechi.
Effort on goal by Jody Morris from 35 yards missed to the left of the net.
Free kick awarded for an unfair challenge on Murray Davidson by Kari Arnason. Direct free kick taken by Murray Davidson.
Scott Vernon crosses the ball, Header from close in by Mitchel Megginson misses to the left of the target.
Daniel Uchechi fouled by Chris Millar, the ref awards a free kick. Fraser Fyvie restarts play with the free kick. Effort on goal by Kari Arnason from outside the area goes harmlessly over the bar.
The second half kicks off.
45:00 +1:07 Half time
Half Time The whistle is blown to end the first half.
Francisco Sandaza crosses the ball, Cillian Sheridan takes a shot. Save by Jason Brown.
Substitution Stephen Hughes leaves the field to be replaced by Daniel Uchechi.
Scott Vernon has an effort at goal from just inside the box that misses to the right of the target.
Effort from 20 yards by Francisco Sandaza. Save by Jason Brown.
Andrew Considine gives away a free kick for an unfair challenge on Francisco Sandaza. Free kick crossed by Liam Craig, Francisco Sandaza challenges Mark Reynolds unfairly and gives away a free kick. Free kick taken by Jason Brown.
Foul by David MacKay on Mitchel Megginson, free kick awarded. Mark Reynolds takes the free kick.
The referee blows for offside against Scott Vernon. Indirect free kick taken by Alan Mannus.
Booking Ryan Jack goes into the referee's book.
Free kick awarded for a foul by Ryan Jack on Francisco Sandaza. Callum Davidson takes the direct free kick.
Francisco Sandaza takes a shot. Jason Brown makes a save.
Free kick crossed by Fraser Fyvie.
Booking Callum Davidson is shown a yellow card.
Callum Davidson challenges Ryan Jack unfairly and gives away a free kick.
Ryan Jack gives away a free kick for an unfair challenge on Francisco Sandaza. The free kick is delivered left-footed by Liam Craig from right channel, save made by Jason Brown.
Frazer Wright fouled by Mitchel Megginson, the ref awards a free kick. Alan Mannus takes the free kick.
Unfair challenge on Stephen Hughes by Murray Davidson results in a free kick. The free kick is swung in right-footed by Stephen Hughes, save by Alan Mannus.
Francisco Sandaza has an effort at goal from just outside the box which goes wide of the left-hand upright.
Corner taken by Liam Craig, Rory McArdle manages to make a clearance.
Mitchel Megginson takes the inswinging corner, David McCracken makes a clearance.
Unfair challenge on Stephen Hughes by Murray Davidson results in a free kick. Stephen Hughes takes the direct free kick.
Fraser Fyvie has a headed effort at goal from deep inside the area missing to the right of the goal.
Mitchel Megginson produces a right-footed shot from just outside the box that goes wide left of the target.
A cross is delivered by Callum Davidson.
Scott Vernon takes a shot. Save by Alan Mannus.
The offside flag is raised against Francisco Sandaza. Jason Brown takes the indirect free kick.
Francisco Sandaza fouled by Stephen Hughes, the ref awards a free kick. Free kick taken by David McCracken.
The match has kicked off.
Live text and data provided by The Press Association
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.