Portsmouth 0 Shrewsbury Town 1 - Report and pictures
Shrewsbury Town are back in the automatic promotion places in League One after James Bolton's first goal for the club sealed a 1-0 win at Portsmouth.
Bolton's goal came after 20 minutes, sweeping home following Shaun Whalley's low corner.
Pompey had a claim for a penalty turned down, hit the crossbar and were denied several times by stand-in goalkeeper Craig MacGillivray.
Paul Hurst's side have done the double over Kenny Jackett's charges this campaign, also beating them 2-0 at home last month.
Analysis
Town made three changes from their last league game - a 2-2 draw with Doncaster Rovers - as MacGillivray, Omar Beckles and Bolton replaced Dean Henderson, Luke Hendrie and Max Lowe.
MacGillivray was between the sticks due to Manchester United loanee Henderson starting a three-match ban for improper conduct, after an incident during Salop's 3-1 defeat at promotion rivals Blackburn Rovers earlier this month.
It is understood the club have requested a copy of the Independent Regulatory Commission's written reasons for the suspension and are considering an appeal.
In the meantime, this was MacGillivray's third league start of the campaign - and a big chance to stake a claim.
He was barely tested in the first half, in which Pompey were very frustrated. The home fans did not agree with a lot of referee David Coote's decisions, such as not awarding Jackett's men a penalty for what they thought was a handball in the area by Town winger Whalley.
Hurst's charges created one significant chance in the opening 45 minutes - and they put it away.
Whalley's low corner caught the hosts' defence cold, allowing Bolton to poke the ball home at the far post. A clever finish, his first goal since scoring for Gateshead in a 3-2 National League loss at Bromley on August 20, 2016.
Portsmouth's Adam May and Gareth Evans, as well as Salop's Carlton Morris, picked up bookings before the break amid a hostile atmosphere.
Town had MacGillivray to thank for some superb saves shortly into the second period. He clawed away substitute Brett Pitman's effort, a Matt Clarke header and a long-range strike from Kal Naismith as Pompey piled on the pressure.
They just could not find a leveller, though. Agonisingly for them, Pitman had a strike deflect onto the crossbar late on and May was sent off after a second bookable offence.
Salop - who also had Alex Rodman cautioned for kicking the ball away after a foul, and Stefan Payne given a yellow after the final whistle for an altercation with a Portsmouth player - defended valiantly to leapfrog Blackburn into second.
Key Moments
14 - Adam May is booked for tripping Shaun Whalley.
21 - GOAL! Whalley curls a low ball into the box from a corner and right-back James Bolton is in the right place, at the right time, to poke in at the far post. That is his first goal for Town, after joining the club last summer.
32 - Portsmouth skipper Gareth Evans is booked for protesting what he, and the home supporters, thought should have been a penalty for handball, by Whalley. Referee David Coote is not well liked by the Fratton Park faithful, to say the least.
58 - Fantastic save from Salop goalkeeper Craig MacGillivray, tipping Kal Naismith's curling strike out for a corner - which nothing comes from.
84 - Pitman's effort for Pompey deflects onto the crossbar.
90 - Portsmouth's Adam May is sent off after a second bookable offence, barging over Stefan Payne.
Teams
Portsmouth (4-2-3-1): McGee; Thompson, Burgess, Clarke, Donohue; Close, May; Evans (c), Naismith (Ronan, 70), J Lowe (Pitman, 54); Hawkins
Subs not used: Deslandes, Bennett, Kennedy, Chaplin, Bass (gk)
Shrewsbury (4-2-3-1): MacGillivray; Bolton, Nsiala, Sadler, Beckles; Godfrey, Ogogo (c); Whalley (John-Lewis, 90), Nolan, Rodman; C Morris (Payne, 82)
Subs not used: M Lowe, Hendrie, B Morris, Gnahoua, Rowley (gk)
Attendance: 17,779 (498 Salop)
Man of the Match
Craig MacGillivray - Making his first league start since October, the 25-year-old goalkeeper pulled off a series of fine saves to preserve Town's lead and earn himself a clean sheet. 9/10