Townsend had made eight Premier League appearances for Spurs this season and made his full England debut against Montenegro last week.
Spurs stated on their official website: “We are delighted to announce that Andros Townsend has signed a new four-year contract with the club.”
Townsend posted on Twitter: “Delighted to have signed a new contract with spurs! The perfect end to the perfect week!! Now let’s get 3points on Sunday.”