The 25-year-old Netherlands international joined Spurs from AZ Alkmaar in 2016 but failed to make an impact at the Premier League club.
Janssen arrived in London for a reported £17 million ($21 million), having topped the Eredivisie scoring charts in 2015/16 with 27 goals.
But in his three years at the club he made just 42 appearances, scoring six goals, and spent almost the entire 2017/18 season on loan at Fenerbahce.
Janssen played just three games for Spurs last season, all as a substitute.
"We have reached agreement with Mexican side C.F. Monterrey for the transfer of Vincent Janssen," said a club statement.
"We wish Vincent all the best for the future."
Monterrey recently won the CONCACAF Champions League for the fourth time and compete in Mexico's Liga MX.
Janssen tweeted: "Happy to join @rayados, looking forward to see you all soon. Can't wait to play for the CONCACAF Champions. #ArribaElMonterrey."