Ziyech broke the deadlock with his dazzling long-range curler early in the second half at Stamford Bridge.
Thiago Silva’s header killed off Tottenham, who were furious that Harry Kane had a first half goal ruled out for a foul.
Third-placed Chelsea are now 10 points behind leaders Manchester City after ending a damaging run of four league games without a victory.
“It was a brilliant goal from Hakim. His technique was brilliant. We were working extremely hard for it,” Chelsea boss Tuchel said.
“The effort was outstanding and it was a deserved win. We were relentless and kept on believing.”
Chelsea had beaten Tottenham three times already this season without conceding a goal, including knocking their London rivals out of the League Cup semi-finals.
Failing to do so for a fourth time would have been a hammer blow to the Blues’ bid to reel in City.
Chelsea won’t play again in the league until mid-February due to the winter break and their involvement in the FIFA Club World Cup.
But, for the first time since December 26 at Aston Villa, Tuchel’s side tasted league success, giving them a much-needed boost at a time when their season was in danger of going off the rails.
“The table is the table, it is our responsibility to prove ourselves every third day. It was important to go into the break with a good performance,” Tuchel said.
“We needed this. The guys are very tired because it was a long run for us.”
Tottenham’s first defeat in 10 league games since Antonio Conte took charge was a blow to their challenge for a top four finish.
They remain in seventh, two points behind fourth placed Manchester United with two games in hand.
Fuming over the Kane controversy, Conte said: “I don’t want to comment on the referee’s decision. But to disallow this goal in England, was incredible for me.
“I don’t like to lose and defeat is always difficult for me, but I think to have a nine games in a row without defeat was important.
“In this moment, the gap with other teams like Chelsea is really an important gap. Now there is a big difference between us and the top teams.”
Yet Conte must have been fearing yet another loss to his former club after Chelsea made a lively start.
Romelu Lukaku hooked a decent chance over the bar from Mason Mount’s delivery before Callum Hudson-Odoi nodded Ziyech’s cross just wide.
Ziyech’s swerving drive from 25 yards forced a parried save from Hugo Lloris.
Tottenham thought they had taken the lead against the run of play when Kane fired home from Ryan Sessegnon’s pass.
But referee Paul Tierney controversially disallowed it for a slight push from Kane that sent Silva sprawling theatrically as he tried to track the striker’s run.
Ziyech rubbed salt into Tottenham’s wounds as the Moroccan winger produced a moment of magic in the 47th minute.
Hudson-Odoi led the charge with a driving run and pass to Ziyech, who curled a sublime strike into the far corner from the edge of the area.
Ziyech almost followed his second goal in successive games with a third moments later when his rocket was palmed away by Lloris.
After his role in Kane’s disallowed goal, it was inevitable Silva would haunt Tottenham again and the Brazilian doubled their lead in the 55th minute.
Eric Dier’s foul on Hudson-Odoi conceded a free-kick that was questioned furiously by the Tottenham defender.
From the set-piece, Mount’s delivery was perfect for Silva to glance his header into the far corner.
Silva, 37, is the oldest player to score in the Premier League since 2013, when 39-year-old Ryan Giggs netted for Manchester United against QPR.