The 28-year-old struck either half of time to secure victory at Warsaw’s Narodowy Stadium and hand the Spaniards back-to-back triumphs in the competition in its current format and its previous incarnation as the UEFA Cup.
In the process, they went one better than Inter Milan, Juventus and Liverpool, with whom they had been level on three wins before kick-off.
Nikola Kalinic had given the Ukraine outfit, playing in their first major European final, a seventh-minute lead, but goals from Grzegorz Krychowiak and Bacca inside three first-half minutes put the holders in pole position to retain the trophy.
Ruslan Rotan’s free-kick pulled Dnipro level, but Bacca won it with 17 minutes remaining with his sixth goal in this season’s competition.
Dnipro could hardly have got off to a better start when they forced their way in front with just seven minutes gone.
Kalinic climbed high to flick a long ball into the path of Matheus and then made his way into the middle to despatch the Brazilian’s inch-perfect cross with a firm downward header.
Sevilla gathered themselves and gradually built up a head of steam, and they might have been level 17 minutes later had goalkeeper Denys Boyko not reacted smartly to repel Krychowiak’s header.
However, the Poland international was not to be denied and he levelled with 28 minutes gone when, after Dnipro had failed to deal adequately with a corner, he took an intelligent touch before firing right-footed past Boyko.
Sevilla’s concerted response paid dividends once again within four minutes when Bacca ran on to Jose Antonio Reyes’ superb pass to round the keeper and slot into the empty net.
Keeper Sergio Rica had to be at his best to turn away Yevhen Konoplyanka’s curling 37th-minute strike, but there was nothing he could do to prevent Rotan from levelling with a sumptuous 44th-minute free-kick.
The frenetic pace of the game continued after the break, but with neither side able to create clear-cut chances until Kyrchowiak saw a 67th-minute shot blocked from point-blank range in the midst of a goalmouth melee.
But Sevilla regained the lead with 17 minutes remaining when Vitolo stabbed the ball through to Bacca, whose emphatic left-foot finish gave Boyko no chance.
The Dnipro keeper denied Bacca a hat-trick with a fine 79th-minute save, and the forward left the pitch to warm applause three minutes later when he was replaced by Kevin Gameiro with his job done.
The Spanish side held on, although the game ended in worrying circumstances for Dnipro as midfielder Matheus left the field on a stretcher after appearing to collapse following a clash of heads.