Portsmouth escaped the Championship relegation zone for the first time since August as they drew 0-0 with Norwich at Fratton Park.
Pompey and the Canaries, who had netted a league-high 35 times, had scored 18 goals between them in their last three fixtures but the expected goal-fest never arrived.
The home side have put together a four-match unbeaten run, including back-to-back clean sheets, after only one victory in their opening 14 matches and looked the likelier to score.
Norwich lost captain Kenny McLean two hours before kick-off as he was handed a four-match ban for a previously unpunished elbow against QPR at the weekend.
The first half an hour saw plenty of quick passing and all-round quality but few magical chances.
The only shot on target came in the fourth minute as Borja Sainz’s wicked delivery was diverted goal-bound by Emi Marcondes but straight at goalkeeper Nicolas Schmid.
It was Pompey who caused the bigger problems with a mix of high-pressing and long balls but they couldn’t test City stopper Angus Gunn.
Freddie Potts’ direct inswinging corner needed a defender on the line before Paddy Lane put his laces through a shot from 20 yards but it sailed over the crossbar.
The first-half quality ended when Josh Murphy, against the club which reared him, flashed a shot just wide in the 26th minute.
The other 15 minutes were scrappy, bitty, low-quality stuff, best illustrated by the five yellow cards referee Andrew Kitchen brandished for various snide incidents.
However, Schmid was forced into a full-length save at his near post after Sainz’s attempted pass bounced off Terry Devlin and almost caught out the goalkeeper.
Sainz, the leading goalscorer in the top four tiers, had his first big chance four minutes after the restart when he picked up on a long ball forward but his low effort lacked power – as did his longer-range shot a minute later.
Connor Ogilvie hooked the ball into the net but Kitchen had already blown for a foul on Gunn before Lane unsuccessfully tried his luck from range.
Colby Bishop bounced a header agonisingly wide, Onel Hernandez fired straight at Schmid and Lane failed to convert from a pullback as there wasn’t a lack of openings to break the deadlock.
Zak Swanson had the last chance but his back-post header was deflected wide in stoppage time.