Ex-Everton striker Moise Kean headed the winner from a great cross from the right wing by Federico Bernardeschi, using the outside of his left boot.
Malmo offered little as an attacking threat and finish bottom of the group.
Juve had looked set to finish second but Chelsea conceded a late goal in their 3-3 draw at Zenit St Petersburg to send Juve through as group winners.
Chelsea would have taken top spot if they had finished level on points with the Italians, courtesy of a better head-to-head record after beating Juve 4-0 at Stamford Bridge last month.
However, Magomed Ozdoev’s 94th-minute equalizer for Zenit in Russia handed Juventus top spot, and sparked scenes of celebration at the Allianz Stadium.
It means they will avoid Manchester City, Liverpool, Ajax, Real Madrid, Bayern Munich, Manchester United and whoever wins Group G in the next round in February.
The draw for the last 16 takes place at Uefa’s headquarters in Nyon, Switzerland on Monday at 11:00 GMT.
This was a routine victory for Juve, who had already missed chances with Daniele Rugani heading wide and Kean shooting wide, before the latter grabbed his first Champions League goal for the club.
After the break, Adrien Rabiot’s effort was just off target, while Bernardeschi forced a fine save from away goalkeeper Ismael Diawara.
Malmo, managed by ex-Newcastle striker Jon Dahl Tomasson, are now out of European competition for 2021-22.
However, they clinched the Swedish league title earlier this week and will be in the first qualifying round of next season’s Champions League.