Tommy McDermott’s cracking strike hauled League Two Shrewsbury level, John Marquis put them ahead in the second half and Will Boyle then headed in Sam Clucas’ corner.
Bristol Rovers, meanwhile, were outclassed by Spurs early on, with Tynan Thompson, Luca Williams-Barnett and Yusuf Akhamrich scoring.
The hosts responded with goals from Ellis Harrison and Fabrizio Cavegn but Thompson netted again to make it 4-2, which looked like securing the win for Spurs.
However, Archer was then red-carded for taking out Ryan Howley, who was through on goal, and Isaac Hutchinson scored with a free-kick before Cavegn equalised with his second goal of the game.
Rovers then won 5-4 on penalties, with keeper Brad Young clinching their victory by saving James Rowswell’s spot-kick, having also denied Calum Logan.
It was a much more comfortable evening for Manchester City’s youngsters at Oldham, where Mahamadou Sangare and Ashton Muir both scored twice and Justin Oboavwoduo also netted.
The Latics’ goal, which made it 3-1, was a penalty by Luke Hannant after Kane Drummond had been fouled by Femi Fapetu.