Chelsea moved a step closer to booking their place in the Champions League knockout stages as Hakim Ziyech's 56th-minute strike was enough to secure a 1-0 victory over Malmo in southern Sweden.
Ziyech impressed as he made a case for more regular starting opportunities, scoring his first goal since the European Super Cup win over Villarreal in August as he tucked home from close range after good work from Callum Hudson-Odoi.
Malmo had lost their previous six Champions League games by an aggregate score of 28-0 so it was a very resolute display against the European champions, who still have work to do in order to qualify for the last 16.
Johan Dahlin twice denied Kai Havertz from point-blank range either side of the interval but the result means another victory for Chelsea without conceding.
Since Thomas Tuchel took over, they have conceded just 23 goals in 46 games, five in one game against West Brom. The Blues are three points behind leaders Juventus in Group H after the Serie A club beat Zenit St Petersburg later on Tuesday night.
Malmo: Dahlin (8), Ahmedhodzic (7), Nielsen (7), Brorsson (7), Berget (7), Pena (7), Innocent (6), Nanasi (7), Rieks (6), Rakip (6), Colak (7).
Subs: Lewicki (6), Olsson (6), Nalic (n/a).
Chelsea: Mendy (6), Christensen (7), Thiago Silva (7), Rudiger (6), Azpilicueta (6), Loftus-Cheek (8), Jorginho (7), Alonso (6), Ziyech (8), Hudson-Odoi (7), Havertz (6).
Subs: Pulisic (6), Barkley (6).
Man of the match: Hakim Ziyech.
How Chelsea broke Malmo resistance
In front of a sell-out crowd of 20,000 supporters at the Swedbank Stadion, the hosts survived an early penalty appeal as Anel Ahmedhodzic left Havertz in a heap inside the box but referee Felix Brych was well placed to wave away the protests.
Chelsea last visited Malmo in 2019 en route to claiming the Europa League title, and they dominated possession as patient play involving Hudson-Odoi and Marcos Alonso resulted in Cesar Azpilicueta's low shot being fumbled around the post by goalkeeper Dahlin.
Chelsea manager Thomas Tuchel recalled captain Cesar Azpilicueta, Marcos Alonso and Ruben Loftus-Cheek for their Champions League match at Malmo.
Wing-backs Reece James and Ben Chilwell were dropped to the bench by the German, but there was no place in the squad for N'Golo Kante, who started Saturday's 3-0 win over Newcastle.
Christian Pulisic was named among the substitutes after recovering from an ankle injury. The forward had not featured since the opening day success over Crystal Palace.
The Blues had lost only four of their last 23 games in Europe's premier cup competition, and Tuchel's men continued to probe as Dahlin was drawn into action once more when Havertz found Ziyech but his low shot was kept out by the feet of the Malmo stopper.
Malmo nullified Juventus in the opening 20 minutes during their one previous Group H home game so far, but three unanswered goals before the break ended their stubborn resistance. Chelsea were being frustrated throughout the opening period, however.
Dahlin was enjoying his night and his heroics kept Malmo level as Havertz collected Ruben Loftus-Cheek's perfectly-weighted pass but the forward's dinked effort was smothered by the onrushing goalkeeper.
Chelsea arrived having only conceded seven goals in 16 matches in all competitions this season, but Jon Dahl Tomasson's side were prickly and even occasionally threatened as Antonio-Mirko Colak shinned wide when picked out by Sergio Pena on the stroke of half-time.
- Tuchel challenges Loftus-Cheek to 'use his full potential'
- How the teams lined up | Match stats
- Champions League fixtures | Results | Group tables
You could see Malmo's belief growing as Brych blew for the restart.
There were faint cries for a penalty from the 1,000 Chelsea fans behind the goal when Alonso's header from Ziyech's near-post corner brushed the arm of Lasse Nielsen, but a minute later the Premier League side were ahead.
Tuchel's decision to switch wingers was vindicated as Havertz and Hudson-Odoi combined down the right to good effect before the latter's low cross was guided in by Ziyech at the far post.
You sensed the floodgates would open, but Malmo remained resolute with Erdal Rakip's speculative drive failing to trouble Edouard Mendy.
Chelsea did come close to a second when another Ziyech corner was met by Thiago Silva but cleared off the line brilliantly by Ahmedhodzic before Dahlin resumed his battle with Havertz to deny the forward from Loftus-Cheek's through ball.
There was time for Tuchel to introduce Christian Pulisic in the final 15 minutes for his first appearance since August and only his third for Chelsea this season as the visitors saw out the game with minimum fuss.
Chelsea boss Thomas Tuchel: "All the credit to my assistant, Arno [Michels]. He had the idea at half-time and we liked it. To have two right footed players on the right side and two left footed players on the left side.
"We had the feeling that maybe when we enter the spaces behind the back five, because Malmo was defending in a low block, that we maybe lose some important seconds if Callum or Hakim have to switch back on to their other foot.
"We thought maybe we could save important seconds or tenths of a second and the situation was like this. We had a breakthrough and Callum could deliver precisely enough with a good ball in. So credit goes to my assistant."
On Havertz, Tuchel added: "I think he deserves (to score). He played some good matches now, very intense. I can actually see and feel how hard he fights for the team and the effort he puts into it. He won the penalty against Newcastle and he had two chances to score tonight. It would have been the perfect scenario if he had scored, but I am happy with him."
Analysis: Chelsea machine rolls on
Sky Sports' Ben Grounds:
"Tuchel will certainly have wanted his players to have been more clinical in front of goal, highlighted by Havertz's profligacy and even the rustiness of Pulisic as he missed a presentable chance albeit from an offside position with the final kick of the game.
"This was not a vintage Chelsea display but when you have 74 per cent of the ball and restrict your opponents to no shots on target, it cannot be viewed as a bad night at all.
"This was a routine win for the Champions League holders and they never looked in danger. Chelsea have shown they are capable of winning all sorts of games and in all manner of ways, from thumping Norwich 7-0 to collecting a third 1-0 win of the season.
"There were some strong performances from Tuchel's men, not least from Loftus-Cheek.
"The 25-year-old, who was making only his fourth start of the season, saw plenty of the ball in midfield, creating three chances, completing seven dribbles, and winning 14 duels - nearly twice as many as any other player. The Chelsea machine rolls on."
Man of the match: Hakim Ziyech
Chelsea's Hakim Ziyech has become the joint-highest scoring Moroccan player in UEFA Champions League history, alongside Marouane Chamakh (8 goals each).
On Ziyech, Tuchel added: "There is still improvement for Hakim in his decision making. We rely on his awareness and work-rate. With the ball, there is room to improve, be more clinical and grow into our rhythm.
"But I think the injury in his shoulder cost him a lot. He is not 100 per cent free yet. The offensive players love freedom in their movement. I'm happy. A goal like this helps. It was decisive."
Chelsea keeping it clean - Opta stats
- Malmo have lost all four games against Chelsea in European competition by an aggregate scoreline of 10-1.
- Chelsea have never lost a European game against Swedish opposition (P8 W5 D3) - against no opposing nation have the Blues played more games in all European competitions without losing (also unbeaten in eight against sides from Czech Republic and Denmark).
- Malmo have now conceded 29 goals in the UEFA Champions League since they last scored a goal in the competition (vs Shakhtar Donetsk in October 2015).
- Since the start of last season, Chelsea's Edouard Mendy has kept 12 clean sheets in the UEFA Champions League (16 appearances), at least five more than any other goalkeeper.
Chelsea host Burnley in the Premier League on Saturday before the international break. Tuchel's side take on Juventus in their next Champions League group-stage clash on Tuesday November 23; kick-off 8pm.