Pablo Sarabia had sent Sevilla ahead in the early stages of the match, but Gerard Pique levelled late in the first period before Dembele's stunner 12 minutes from time saw Barcelona lift the Spanish Super Cup for the 13th time.
Sevilla made the breakthrough in the ninth minute of the match, although it would have been disallowed but for the invention of VAR, which showed that the linesman was wrong to flag Sarabia offside.
Barcelona came close to an equaliser in the 16th minute when a quick corner released Lionel Messi inside the box, but Sevilla's new goalkeeper Tomas Vaclik made a super save, before keeping out a Jordi Alba strike minutes later.
Vaclik made another save to keep out a Luis Suarez strike in the 24th minute, before Barcelona debutant Clement Lenglet - in action against his former club - headed a Messi free kick over the crossbar as chances continued to arrive.
Suarez had a golden chance to level the scores late in the first period when he found space inside the box, but the Uruguay international missed the far post as Sevilla kept their one-goal lead in tact.
The Barcelona equaliser did arrive before the break, however, with Pique converting from close range after Messi's free kick had come back off the post and hit Vaclik before dropping into a dangerous position.
Sevilla almost regained their lead moments later when Muriel again found Sarabia inside the Barcelona box, but Ter Stegen was on hand to make a terrific save as the pair headed down the tunnel at 1-1.
Sevilla responded by introducing Portugal international Andre Silva, with the striker making his debut following a move from AC Milan.
The first serious attempt of the second period came from another Messi free kick just before the hour, but Vaclik did well to make the stop.
Barcelona's next chance arrived in the 64th minute when Messi released Dembele inside the Sevilla box, but the Frenchman saw his effort saved by Vaclik, before Vazquez fired wide of the post down the other end.
Jesus Navas fired into the arms of Ter Stegen 15 minutes from time as chances continued to arrive, before Vaclik made a wonderful double save to deny Suarez and Messi.
Barcelona did take the lead in the 78th minute, however, when Dembele found space outside the Sevilla box before hammering an unstoppable effort into the back of the net via the woodwork.
Arturo Vidal came off the bench for his Barcelona debut late on, and there was drama in the final moments when Ter Stegen brought Aleix Vidal to the deck to hand Sevilla the chance to level from the spot.
The Barcelona goalkeeper made up for his mistake, however, as he kept out Ben Yedder's weak attempt to ensure that the reigning Spanish champions would lift the trophy once again.
SEVILLA (3-4-2-1): Vaclik; Mercado (Ben Yedder 85'), Gomez, Kjaer; Escudero, Banega, Mesa, Navas; Sarabia (Aleix Vidal 71'), Vasquez; Muriel (Silva 60')
BARCELONA (4-3-3): Ter Stegen; Semedo, Pique, Lenglet, Alba; Busquets, Rafinha (Rakitic 46'), Arthur (Coutinho 53'); Dembele (Arturo Vidal 86'), Suarez, Messi