Wanyama heavily featured in the Premier League under Ronald Koeman, who was named Everton manager last week, making 29 starts as the club clinched sixth place to qualify for the Europa League.
The 24-year-old, who picked up three red cards last season which led to a five-match suspension, had also been in talks with Spurs last year before the deal fell through.
The Saints had hoped to tie down Wanyama to a new deal, with the player entering the final year of his contract, but British media reported that the Kenya international rejected the offers.
After undergoing a medicals, Wanyama signed a contract with the Spurs until 2021 and will will become the first Southampton player to be reunited with manager Mauricio Pochettino since his arrival at White Hart Lane in 2014.
The deal also means Wanyama will become Tottenham's first signing during the close season, as Pochettino will look to build on last season's third place finish.