Pompey slipped a place to sixth in the League One standings after losing at a resurgent Northampton.
All of the home side's goals in a 4-1 defeat arrived before the break, with Fraser Horsfall and Sam Hoskins adding to Ryan Watson's brace.
Kenny Jackett's troops did at least grab a consolation, as substitute Ellis Harrison converted from the spot following a foul on Harvey White.