Stones, who has 19 caps for England, was heavily linked with a move away from the Etihad over the summer.
Manchester City spent more than £50m when they signed Stones from Everton in 2016 but he has struggled to cement a place in the starting XI under Pep Guardiola.
Former Tottenham manager Redknapp believes Stones is a ‘real player’, however, and says he expected either Manchester United, Chelsea or Arsenal to secure his signature.
‘Manchester United wanted to get Jadon Sancho in and that never happened,’ Redknapp told Sky Sports.
‘The new left-back [Alex Telles] sounds like he’s a good player. But I still thought they needed a new central defender. They needed that and that’s not happened.
‘I’m surprised someone didn’t take John Stones. I’m a big fan. I think he’s a real player.
‘If someone got hold of him and got some confidence in him, he’s got all the tools. I like him, personally.
‘Someone like Arsenal, Chelsea. It’s a mixed bag for Manchester United. Ole needs players for now, not tomorrow.
‘It’s not a five-year plan. If you have a bad run of results, you’re out. He needed players for now. They needed a centre-half now.’
Arsenal, meanwhile, completed a shock £45m deal for Thomas Partey.
Chelsea failed to bolster Frank Lampard’s squad on deadline day but had already spent more than £200m on the likes of Timo Werner and Kai Havertz.