The Burnley loan man made two big stops in each half as the Owls extended their unbeaten run in League One to 11 matches.
The Owls played the last 21 minutes a man light after Massimo Luongo was sent off for chopping down Ronan Curtis.
Wednesday had started well with Barry Bannan having a shot saved in the opening minute.
But the hosts began to take charge with Curtis blazing over after former Wednesday man George Hirst teed him up andPeacock-Farrell made an excellent save to keep out Hirst.
Fisayo Dele-Bashiru was close to giving Wednesday the lead after shooting just over following a surging run.
Peacock-Farrell was at his best again two minutes before the break when he tipped away a goal-bound Curtis header.
Liam Palmer headed a Bannan free-kick over, while Peacock-Farell tipped over Hackett’s deflected long-range effort before scrambling away a Curtis header.
It was backs to the wall when Luongo was dismissed after a bad tackle on Curtis.
Sean Raggett fired over, before Hirst saw a penalty shout waved away as Portsmouth piled on the pressure.
Portsmouth: Bazunu, Freeman, Raggett, Ogilvie, Romeo, Azeez, Williams, Hackett-Fairchild, Harness, Hirst (Harrison 84), Curtis. Unused substitutes: Ahadme, Marquis, Bass, Gifford, Jewitt-White, Hughes.
Sheffield Wednesday: Peacock-Farrell, Paterson, Palmer, Hunt, Johnson, Dele-Bashiru, Bannan, Luongo, Shodipo, Kamberi (Wing 72), Gregory (Berahino 88). Unused substitutes: Brown, Byers, Corbeanu, Wildsmith, Sow.
Referee: S Purkiss (England).