Playing for the first time since Josep Maria Bartomeu announced on Tuesday he and the club's board of directors are resigning, Barca started sharply and went ahead inside 15 minutes thanks to Dembele's second goal of the season.
Juve - once again without the self-isolating Cristiano Ronaldo - were largely second best to Ronald Koeman's side throughout but will feel hard done by after Alvaro Morata had three efforts ruled out for offside.
Merih Demiral was dismissed after receiving a second yellow card in the 85th minute before Messi compounded Juve's misery with a cool penalty in stoppage time.
35 - Since Lionel Messi's first #ChampionsLeague campaign in 2004-05, only @Cristiano (38) has provided more assists in the competition than the Argentine (35). Distribution. pic.twitter.com/fkBJdUfsrM— OptaJose (@OptaJose) October 28, 2020
Barca twice came close to taking the lead inside the opening two minutes, Wojciech Szczesny pawing away former Juve midfielder Miralem Pjanic's powerful drive before Antoine Griezmann lashed against the post from 10 yards.
However, they were rewarded for their bright start in the 14th minute when Dembele's shot from outside the penalty area looped over Szczesny after taking a significant deflection off Federico Chiesa.
Morata saw two efforts ruled out either side of Messi dragging wide at the other end after some smart play from Griezmann.
Szczesny denied Dembele and Griezmann in quick succession as Juve - who had just two shots in the opening 45 minutes - contained Barca to a one-goal lead at the interval.
Morata then completed his unwanted hat-trick 10 minutes into the second period when his close-range finish was again chalked off following the use of technology to check.
Any hopes Juve had of salvaging a point were extinguished late on when Demiral picked up a second caution for a late challenge on Pjanic.
Messi ensured Barca extended their unbeaten away run in the Champions League group stage to 11 games, slotting home from the spot after substitute Ansu Fati had been brought down in the area by Federico Bernardeschi.
What does it mean? Barca cranking into gear, Juve lifeless
Koeman had called for patience from Barca fans ahead of the game, insisting it will take time to turn the team into one capable of winning top honours amid a backdrop of boardroom uncertainty.
There were at least signs they are moving in the right direction in this game, the Catalan giants making 227 more passes than Juve and enjoying 59 per cent of possession in a dominant display.
Juve, meanwhile, once again missed the presence of their talisman, Ronaldo. Andrea Pirlo's side inexplicably failed to have a shot on target as they missed the opportunity to win their 100th Champions League game.
Messi too hot to handle
Messi was in imperious form, scoring his 70th goal in 74 Champions League group games, as well as providing his 35th assist in the competition. He also made five key passes – none of his team-mates managed more than one.
Dybala off the pace
Making just his second start of the season, Paulo Dybala endured a game to forget. The Argentina international had three shots, all of which were blocked, and failed to make any key passes.
Key Opta facts
- Barcelona are just the third Spanish team to win a Champions League away game against Juventus, after Real Madrid (3-0 in April 2018) and Deportivo La Coruna (1-0 in March 2004).
- Dembele is the second Barcelona player to score an away goal against Juventus in the Champions League, after Javier Saviola in 2003.
- Barcelona did not allow a single shot on target, the third time this has happened in 2020 in all competitions.
- Messi created five chances, more than any other Barca player in a game this season. He was involved in nine of his team's 13 shots (four attempts and five key passes).
- Barcelona are unbeaten in seven matches against Italian teams in the Champions League (W5 D2) since losing 3-0 to Roma in April 2018.
Juve travel to Spezia on Sunday hoping for a return to winning ways after two consecutive Serie A draws, while Barca visit Deportivo Alaves a day earlier in LaLiga with the aim of bouncing back from their home defeat to Real Madrid in El Clasico.