The 22-year-old's only first-team game for Spurs was as a substitute in their 7-0 FA Cup third-round win at Tranmere Rovers in January 2019.
He spent the 2019-20 season on loan at Leyton Orient, playing 29 times.
"I spoke to several people who had worked with George and they all came back with the same glowing reference," said Dons boss Mark Robinson.
"I believe George is at a place where he can really kick-start his career."
Marsh is the fifth new signing for the Dons this summer.
They brought in goalkeeper Zaki Oualah and striker Aaron Cosgrave on Monday to add to the signings of Darius Charles and Luke McCormick earlier this month.
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!