Ten-man MK Dons saw their unbeaten run come to an end at Fratton Park, as they were beaten 3-1 by play-off chasing Portsmouth.
The hosts took the lead after just four minutes but Russell Martin’s responded in first-half stoppage time through Alex Gilbey, who converted from close-range after his penalty was saved.
Pompey though, restored their lead early in the second half before sealing the victory late on with Marcus Harness adding a third.
Despite defeat, the Dons remain 18th in Sky Bet League One. Their gap, however, over the bottom three is reduced to 10 points, courtesy of Tranmere Rovers’ win at Shrewsbury Town.
Boss Martin made just one change to his starting XI, with Conor McGrandles replacing Ben Reeves in midfield. The switch saw an alteration to the formation, with the Dons reverting back to the 4-4-2 diamond they displayed earlier in Martin’s tenure.
It was Portsmouth who started the brightest with Lee Nicholls claiming at the feet of Ronan Curtis early on.
The Pompey wide-man fired over soon after before the hosts made their fast start count with just four minutes on the clock – Ryan Williams intercepting a pass and then drawing in Nicholls, before teeing up Cannon to slot into the empty net. 1-0.
Louis Thompson went close to an immediate response for the Dons but fired wide from the edge of the D. His midfield partner, Alex Gilbey, then had a glorious chance to level but failed to beat Alex Bass when one-on-one – McGrandles dragged the rebound wide.
The Dons were then awarded a free-kick, for a foul on Healey, five yards from the edge of the box. The striker stepped up to take the set piece but saw his low effort gathered on the dive by Bass.
Portsmouth offered a reminder of their threat midway through the first half when John Marquis broke through on goal. Nicholls, though, was quick off his line and made his body big enough to get in the way of the striker’s effort.
The MK Dons number 1 was called into action again on the half-hour, as he produced a right-handed save to keep out Lee Brown’s fierce drive. He came up trumps again six minutes later to divert a long-range effort from Ben Close over the bar.
Despite those flurry of chances, it was Martin’s men who were in the ascendancy as the half drew to a close and they were handed the chance to restore parity in the penultimate minute of stoppage time when Healey was brought down by Ross McCrorie inside the box.
Gilbey took the spot-kick and, despite seeing his initial effort saved by Bass, followed in the rebound to slam home an equaliser with his first fifth goal of the campaign. 1-1.
Within two minutes of the re-start, the MK Dons number 8 almost had a chance to double his and team’s tally but was denied in the area by a superb sliding tackle from Christian Burgess.
That tackle proved crucial for the home side as they restored their lead almost instantly. The Dons defence failed to deal with a run into the box from the right-hand side and that led to Pompey frontman Marquis converting with the simplest of finishes from close range. 2-1.
Nicholls prevented the home side from doubling their advantage three minutes later, pulling off a routine save to keep out a looping header from Sean Raggett. At the other end, Jordan Moore-Taylor glanced a header of his own just wide from a Dean Lewington free-kick.
Martin made his first substitution of the game just past the hour mark, as he replaced McGrandles with Ben Gladwin in midfield. Within a minute of his arrival, Lewington was forced into a vital block to prevent Williams from testing Nicholls.
Gladwin was then involved at the attacking end of the pitch, delivering in a cross which eventually led to a chance for Thompson, who drilled over. His next ball in was a beauty, as it found the right-foot of Healey, unmarked at the far post – his volley was brilliantly saved by Bass.
The substitute continued to be heavily involved and on 73 minutes, he fired over with a free-kick – an ambitious effort, given the angle, but he was not far away from finding the net.
With a quarter of an hour to play, it was the Dons pushing for the crucial fourth goal of the game. Morris sent a left-footed shot off target from the edge of the D moments before Healey bent one just wide of the right post from similar range.
Martin then threw Sam Nombe on from the bench to bolster his attacking options. Ben Reeves followed soon after. The two combined with five minutes to play but Nombe saw his strike beaten away by Bass at his near post.
The Dons’ attempts to pull themselves back into the match were dented moments later when Carlton Morris was shown a straight red card for denying Marquis a clear goalscoring opportunity, as the Pompey man bore down on goal.
Martin’s men survived the resulting free-kick but they conceded a third in the final minute of regulation time – Harness securing the three points for Portsmouth after getting behind the Dons defence and rounding Nicholls. 3-1.
A disappointing trip to Hampshire for the Dons, who will look to go again on Saturday when they visit league leaders Rotherham United.
MK Dons: Nicholls, Williams, Lewington (c), Poole, Gilbey, Healey, Moore-Taylor, McGrandles (Gladwin 62), Thompson (Nombe 78), Morris, Houghton (Reeves 83).
Subs: Fisher, Walsh, Brittain, Kasumu.
Goal: Gilbey (45+2)
Booked: Lewington, Poole
Sent off: Morris
Portsmouth: Bass, McCrorie, Raggett, Burgess, Brown, Close, Williams (McGeehan 77), Cannon (Harness 77), Curtis, Marquis.
Subs: MacGillivray, Whatmough, Seddon, Pitman, Hawkins.
Goals: Cannon (4), Marquis (48)
Booked: Burgess, Cannon
Referee: K Johnson
Attendance: 16,577 (170 away)