A 115th-minute goal from Pedro Rodríguez ended the Ukrainian side's resolve and secured FC Barcelona their third UEFA Super Cup.
Spain's first treble winners last season, Barcelona had started the new campaign as they ended the old by collecting silverware thanks to last weekend's Spanish Super Cup victory, but Josep Guardiola's team struggled to unpick a well-drilled Shakhtar defence despite enjoying the vast majority of the possession.
Shakhtar, bidding to become the 23rd side to lift the UEFA Super Cup and the first Ukrainian winners since FC Dynamo Kyiv's 1975 triumph, held out to take the game into 30 additional minutes and looked to have earned a penalty shoot-out.
Pedro had other ideas, however, exchanging passes with the tireless Lionel Messi to finally beat Shakhtar goalkeeper Andriy Pyatov with a low shot and add yet another trophy to Barça's ever-expanding collection.
FC Barcelona lineup: Valdés, Alves, Piqué, Puyol, Abidal, Touré, Keita, Xavi, Henry, Messi e Ibrahimovic.
Shakthar Donetsk: Pyatov, Srna, Chygrynskiy, Kucher, Rat, William, Hubschman, Gai, Ilsinho, Luiz Adriano y Fernandinho.
Goals: Pedro Rodriguez (114')