Three first-half goals were the reward for an impressive 45-minute display at Montgomery Waters Meadow, and they saw the game out comfortably in the second period to get themselves into the hat for the next round.
Town led when Tom Bayliss swept home Jordan Shipley's cross in the second minute.
They did suffer a setback when Clarke-Harris pulled the visitor's level 10 minutes later after a mistake by Marko Marosi.
But it did not affect them, and they kept pushing, regaining the lead when Pennington slotted home after Taylor Moore's shot was half-saved by Lucas Bergstrom.
And on the stroke of the interval, Shrewsbury skipper Luke Leahy converted from the penalty spot to give them a two-goal cushion.
The visitors pushed to come back into the game in the second half, and they went close through Jack Marriott and Jonson Clarke-Harris.
But Town were organised and hard to break down and they held on for the victory.
In the run-up to this game, Shrewsbury Town boss Steve Cotterill said: "If we can replicate some of the performances, surely, surely, surely, surely, we'll get that win we've deserved in recent weeks."
So the plan for Salop was to put in another good performance this time against Peterborough in the FA Cup.
It was another game where Cotterill would come up against a former player in the opposition dugout - this time Grant McCann leading Posh.
Shrews had created a lot of chances of late but had struggled to convert those opportunities.
And the Town boss was loyal to the side that almost grabbed a point a Hillsborough last weekend naming an unchanged side for the clash.
It is something he has not had the luxury of being able to do on too many occasions this season with the injury problems Salop have had.
The back five remained the same, with Taylor Moore continuing in the right wing-back in the absence of Elliott Bennett - who has a calf injury.
The midfield three was the same, supporting Christian Saydee and Rob Street up front.
And the game could not have got off to a better start from a Shrewsbury point of view as they took the lead inside the second minute with a great team goal.
Tom Flanagan produced a wonderful ball with his left foot to play in Jordan Shipley down the left, and his brilliant cross fell to Bayliss who swept the ball home with his left foot.
The midfielder showed great composure to slot past Lucas Bergstrom.
And Town almost lead by more just minutes later after more good build-up play down the left, but Bayliss' shot went over.
It was a bright start for Shrews, but they gave Posh a route back into the game when Marosi gave the ball away when he should have cleared.
Mason-Clark hit the byline, and Jonson Clarke-Harris was there to tap home.
The goal did not put Town off their stride though, they passed the ball nicely enjoying 57 per cent possession in the opening half an hour.
And with 10 minutes to go until half-time, Shrews did regain the lead. Taylor Moore struck a powerful shot from just outside the box, and it was fumbled by Bergstrom in goal.
Pennigton was the quickest to react and slot the ball home.
They could have made three just after, Moore had another effort saved by Bergstrom, this time after he stabbed the ball towards goal from a Shipley cross.
Right on the whistle though, they did get a third, this time from the penalty spot.
Chey Dunkley was clumsily fouled in the box after getting the ball first from a set piece.
Leahy calmly slotted the ball past Bergstrom to give Town a two-goal lead at the break.
You would expect the visitors to respond after the break, and conditions at the Meadow would benefit them in the second half.
Posh had the wind behind them which was clearly causing the players problems as you could see the ball holding whenever Town tried to clear.
Jack Marriott came on for the visitors, and his first involvement was to smash a free-kick high into the away end, but he did pose a different kind of problem with his movement.
Clarke-Harris almost got his second of the afternoon in the 57th minute when he found space in the Town area.
But he dragged his effort wide.
The conditions were always going to make the second half a challenge for Shrews.
Mason-Clark went close for the visitors, but Marosi was able to save.
As the game went Shrews showed the grit and determination they do week in and week out to see out the game.
There were a few nervy moments, but it was comfortable for Town who progressed to the next round of the FA Cup in impressive style.
Shrews: Marosi, Dunkley, Pennington, Flanagan, Shipley, Moore, Leahy, Moore, Bayliss, Saydee (Bowman 82mins), Street.
Subs: Burgoyne, Bowman, Barlow, Bailey, Bloxham, Pyke, Hutchings.
Posh: Bergstrom, Butler, Knight, Kent, Fuchs, Taylor, Clarke-Harris, Mason-Clark (Jones 82mins), Poku, Thompson (Mensah 82mins), Burrows (Marriott 45mins). #Salop
Subs: Blackmore, Watts, Marriott, Jones, Kyprianou, Thompson, Randall, Taylor, Mensah.