James Ward-Prowse gave Southampton a fast start by finding the back of the net on 12 minutes, but goals from Ryan Sessegnon, Eric Dier and Dejan Kulusevski proved too much for the visitors to overcome.
Southampton, who has developed a trait of seeing leads dissolve, only held their advantage for nine minutes before Sessegnon drew Spurs level.
Dier then powered Spurs ahead, meeting Son Heung-Min’s cross in the 31st minute and it would be one-way traffic from there.
Mohammed Salisu unfortunately gifted Spurs an even greater lead when he turned in Emerson Royal’s cross shortly after the hour mark to make it 3-1.
Kulusevski continued to pour onto Southampton’s abysmal opening day when he scored to give Spurs a 4-1 lead just two minutes later.
Gavin Bazunu had an impressive, yet busy debut for Saints. The 20-year-old made five saves to keep the scoreline at least partially respectively as he dethroned Alex McCarthy as the number one goalkeeper.
Moussa Djenepo, who had a surprisingly strong preseason, looked off pace at left wing back and he lasted 72 minutes before being substituted for Romain Perraud.
With Tino Livramento sidelined through a long-term injury, Kyle Walker-Peters returned to his normal side on the right of the defence.
Southampton — not known for their fast starts to the season — will host Leeds next Saturday.
Tottenham (3-4-2-1): Lloris; Davies (Lenglet 86), Dier, Romero; Sessegnon (Perisic 68), Hojbjerg, Bentancur (Bissouma 86), Royal (Doherty 87); Son, Kulusevski (Moura 86); Kane
Unused subs: Forster (GK), Sanchez, Spence, Gil
Goals: Sessegnon (21), Dier (31), Salisu (61 OG), Kulusevski (63)
Bookings: Sessegnon (24), Bentancur (75), Bissouma (88)
Southampton (5-3-2): Bazunu; Djenepo (Perraud 72), Salisu, Bednarek, Valery (Stephens 45), Walker-Peters (Redmond 90+2); Romeu (Diallo 75), Lavia, Ward-Prowse; A. Armstrong (S. Armstrong 45), Aribo
Unused subs: McCarthy (GK), Elyounoussi, Kotchap
Goals: Ward-Prowse (12)