Peterborough United 2 Shrewsbury Town 1
Desperately needing to bounce back from successive festive away defeats, Posh's early attacking efforts were well contained with Kelvin Langmead twice clearing crosses by Jamie Day with brave diving headers.
Shrewsbury began finding space on the right with Ben Herd sweeping over a centre that eluded everyone before doing even better on 27 minutes.
Released by Danny Hall, Herd got round the back to deliver a centre that Andy Cooke fired low into the net through a crowd of players.
It was a fourth goal in as many starts for Cooke but there was a long gap between them. The Shrews skipper also netted on Boxing Day when returning from a five-month injury absence.
All Posh could muster before the break was a George Boyd shot that was deflected for a corner and a Charlie Lee effort that dipped over Glyn Garner's crossbar.
Whatever boss Darren Ferguson said to his side during the interval worked wonders with Posh netting twice in as many minutes to take command after the re-start
Lee levelled the scores on 57 minutes with an 18-yard right-footed drive after cutting inside from the right after Craig Mackail-Smith touched on following Adam Newton's interception in midfield.
The Wales international defender Craig Morgan had time to pick his spot before a close-range finish after Lee had headed down a Day corner.
Posh could have put the game out of Shrewsbury's reach with Lee seeing a 20-yard shot saved by Garner before Aaron McLean fired well wide from a good position.
Then Shrewsbury came back with Steven Leslie beating three defenders to bring a reflex save from Mark Tyler and the home keeper also did well to punch away a Hall cross.