The 20-year-old made six first-team appearances for Tottenham last season, including three in the Premier League and scored in their Europa League defeat to Galatasaray in November.
He then joined Albion on loan in January, but made only 11 appearances and failed to find the net in his brief stay at The Hawthorns.
Lankshear told Oxford's website: "This is a really exciting opportunity for me to be joining a great club. I learned so much last season in the first team at Tottenham and West Brom and I'm ready to now kick on with Oxford United."
The England Under-20 international, who spent the second half of last season on loan at West Brom, could make his U's debut in Saturday's opening game of the Championship season at home against Portsmouth.