Leonard scored at the end of both halves to help the Shrimpers come out on top but that came after Portsmouth had dominated the first half.
Southend goalkeeper Daniel Bentley did well to deny Ricky Holmes, Marcus Painter and Jed Wallace before he was finally beaten on the half hour mark when Sonny Bradley side footed home Ashley Harris' right-wing corner.
The Shrimpers equalised on the stroke of half time when a deflected long-range shot from Leonard flew in to the bottom left -hand corner of the net.
Portsmouth almost regained the lead in the second half when Wallace struck the crossbar with an excellent effort from 25 yards.
Joe Devera then also fired over from close range before Leonard popped up again to score a dramatic winner two minutes into stoppage time.
The midfielder raced on to a pass from Barry Corr and lashed a low, 25-yard shot in to the bottom left-hand corner of the net.