Zverev looked comfortable against British qualifier Jacob Fearnley as the German mixed a solid serve with dominance from the baseline while saving the only two break points before winning 6-2 6-4.
For Zverev, who lost at the first hurdle in Indian Wells, the win gave him a German record 145th Masters 1000 win, one more than Tommy Haas.
He now faces Thompson who booked his spot with a gritty 7-6 7-6 win over Giovanni Mpetshi Perricard.
"Happy to kind of have improved a few things from Indian Wells where I didn't feel well on the court. I didn't feel like I played good," Zverev told reporters.
"Hopefully this is just the first of many matches for me here and I can continue playing well."
Meanwhile, Indian Wells champion Jack Draper crashed out, the sixth seed and British No.1 fell 7-6 7-6 to Czech Jakub Mensik.
Remember the name:— ATP Tour (@atptour) March 22, 2025⭐️ COLEMAN WONG!!! ⭐️@MiamiOpen | #MiamiOpen pic.twitter.com/xUioE4eMeT
Bizarre scenes saw the match suspended midway through the second set because of loud booing from Brazilian fans in the crowd.
They had secured seats early to be in position for their young star Joao Fonseca, who had been due to play Ugo Humbert after Draper's match, but learned with Draper leading 4-3 that the clash had been moved to the main court.
And in another upset, Hong Kong wild card Coleman Wong stunned 13th seed Ben Shelton 7-6 2-6 7-6 to advance, while Canada's Denis Shapovalov and American third seed Taylor Fritz also won and will meet in the third round.
Wong was emotional after his win.
"I always trust myself to play in these big stages," he said.
"I had a tough time during the (COVID) times...I didn't play for a year and a half and I'm really lucky my team keeps supporting me.
"I'm really happy. This is for you Hong Kong."