The pair shared nine wickets during a marathon spell in the evening session as Sussex slipped from 165 for two to 282 for nine at the close, a lead of 322.
Porter bowled 18 overs unchanged up the slope to finish with 4-82 while Napier took 5-86, including the key wicket of Chris Nash for 92.
Sussex had looked in complete control of the contest having earlier bowled out Essex for 320 to gain a first-innings lead of 40.
Nash tightened the hosts’ grip on the game as he carried on where he left off in the first innings despite losing opening partner Ed Joyce for just 10 when he was bowled by Napier.
Sussex shrugged off that setback as Nash and Matt Machan punished some wayward bowling from Matt Dixon and Ravi Bopara to put on 97 in just 105 balls.
The fun came to an end when Machan was strangled down the leg-side by Napier three short of his half-century.
Nash went on to reach his fifty from 71 balls, including seven fours, but lost New Zealand international Ross Taylor at the other end for 22 when he was well caught by Tom Westley at second slip off Porter.
That sparked a clatter of wickets as Porter and Napier swung the momentum of the game back towards Essex.
Porter trapped Luke Wells and Ben Brown lbw and also bowled Ollie Robinson while Napier ended Nash’s fine knock when he was eight runs short of becoming the first Sussex player to make a century in both innings since Michael Yardy in 2011.
Napier also bowled George Garton for a duck and trapped Danny Briggs lbw before Steve Magoffin and Ajmal Shahzad put on a priceless unbeaten stand of 40 for the final wicket.
Essex had started the day well with Ryan ten Doeschate and Napier stretching their partnership for the eighth wicket to 89 despite Sussex taking the new ball immediately.
Skipper ten Doeschate brought up his half-century from 118 balls – with five fours and two sixes – but fell soon afterwards when he was superbly caught by Briggs at first slip off Robinson.
Sussex wrapped up the Essex innings pretty swiftly after that as Napier was trapped lbw by Shahzad for 45 and Dixon was pinned in front by Briggs for just one.