The 27-year-old joined Spurs from Dutch side FC Twente for £7m in July 2013.
He made 119 appearances for Spurs, scoring 25 goals, but has not featured for Mauricio Pochettino's side this season.
"It came very quickly but they have a good team, a good manager and I am very pleased to be here," Chadli said.
"I just want to help the team win as many games as possible."
Chadli is West Brom's third signing of the summer after Matt Phillips arrived from QPR for a reported £5.5m and Brendan Galloway's loan move from Everton.
Tony Pulis' side are 10th in the Premier League with four points from their first three games and the Baggies boss said: "He's a top, top player and I'm delighted we've got him.
"I said last week that these signings all had to be about players who would improve our squad - and Nacer does precisely that."
With two days left of the summer transfer window, West Brom's England U21 striker Saido Berahino looks set to remain at the club for the rest of the season.
Crystal Palace and Stoke have made bids for the 23-year-old, whose contract expires next summer.
The striker has turned down an extension to the deal, but Pulis has said the player will only leave if there is an "unbelievable offer".
And Berahino strongly hinted he would be staying at The Hawthorns by tweeting on Monday: "Great signing by the club. Welcome to the team Nacer Chadli, looking forward to playing with you bro."
West Brom have signed Belgium midfielder Nacer Chadli from Premier League rivals Tottenham on a four-year deal for a fee reported to be £13m.