Messi teed up Dembele to open the scoring in the 29th minute before sealing the win himself late on with his 19th goal of the season in the league.
This was one of Barca's best performances of the season for various reasons. It was their first win this season against a top-four side and moved them to second in the table, just two points behind Atletico, who have two games in hand. Real Madrid are third, one point back from Barca with a game in hand, too.
The manner of the performance will have pleased coach Ronald Koeman, too. They were solid across the park, hardly giving up any chances, and effective in the final third -- although Koeman would have liked the second goal to arrive before the 85th minute. There was an encouraging display from Dembele in a more central role, an exciting cameo from academy graduate Ilaix Moriba off the bench and a return to form for Sergio Busquets, who benefitted from a change in formation.
It's also a win that tees up Wednesday's game against Sevilla nicely in the Copa del Rey. They go into the semifinal second leg at Camp Nou 2-0 down, but they will be confident of turning it around at home based on this performance.
However, Saturday's win came at a cost. Gerard Pique was taken off with a knock and Pedri soon followed him with a muscle problem. Then, Ronald Araujo, who replaced Pique, was also taken off on his return from an ankle injury.
Manager rating out of 10
8 -- Koeman's switch to a back three, with Sergino Dest and Jordi Alba as wing-backs, nullified Sevilla in the first half. Barca rarely looked too troubled after the break, either, despite losing players to injuries.
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Marc-Andre ter Stegen, 7 -- Injured his hand in the warm-up but was able to start. Would have expected a tougher afternoon.
DF Oscar Mingueza, 7 -- Injuries earned him his chance with the first team but his own performances have kept him there. This was one of his best displays since being brought in from the B team by Koeman.
DF Gerard Pique, 7 -- Looked comfortable at the back despite appearing to be struggling with a knee problem at various points of the game.
DF Clement Lenglet, 6 -- Had a goal ruled out for offside and grew in confidence as the game progressed after last weekend's costly mistake.
MF Sergino Dest, 7 -- Given more freedom as a wing-back and reveled in it. Even had a couple of chances to score, thumping one shot off the woodwork.
MF Sergio Busquets, 8 -- A complete performance from the veteran midfielder, who controlled the game and pressed well.
MF Frenkie de Jong, 7 -- At his best driving forward into space when the game opened up. Almost set up Alba for a goal in the second half.
MF Pedri, 7 -- Another lively showing from the 18-year-old, albeit one which was cut short due to injury.
MF Jordi Alba, 7 -- Enjoyed a more attacking role and was inches away from connecting with a De Jong cross to score for the second game running.
FW Lionel Messi, 8 -- Once again, his fingerprints were on the game's key moments. He provided the pass for Dembele's goal and his late goal ensured Barca didn't have to sweat in the final five minutes.
FW Ousmane Dembele, 8 -- Took his goal well and caused problems with his pace running in behind the Sevilla defence. Is emerging as one of Barca's best players this season.
DF Ronald Araujo, NR -- Came on and then came off again with an ankle problem, although he was furious about it. He wanted to play on. Koeman didn't want to take the risk.
MF Ilaix Moriba, NR -- Replaced the injured Pedri and set up Messi for the second goal.
FW Martin Braithwaite, NR -- Brought on for Dembele in the final few minutes.
DF Samuel Umtiti, NR -- The French defender came on the injured Araujo late on.