The Spanish champions were 2-0 down at half-time after goals from Ewa Pajor and captain Alexandra Popp put the German side seemingly in full control.
But a thrilling second half saw Patricia Guijarro notch two headers within five minutes of the restart and Fridolina Rolf slot home the winner in the 70th minute.
Barcelona have now won European football's biggest prize for the second time in three years.
The Spanish giants dominated for much of the game and should have taken an early lead, only to see Pajor take full advantage after pressuring English defender Lucy Bronze into losing possession.
Barcelona quickly increased the pressure but saw Salma Paralluelo and Aitana Bonmati squander chances when face-to-face with Wolfsburg goalkeeper Merle Frohms, while Irene Paredes headed a corner wide from close range.
Wolfsburg waited for their chances on the counter-attack and saw their patience rewarded in the 37th minute when Pajor played a perfect cross to Alexandra Popp who headed in the German team's second goal against the run of play.
But Barcelona's second-half whirlwind proved too much for Wolfsburg, who were chasing their first Champions League crown since 2014.
They close to an equaliser once, from a corner in stoppage time, but in the end offered too little to prevent Barcelona from lifting the trophy in front of nearly 34,000 fans in Eindhoven's PSV Stadium.
This year's final was the first before a sold-out crowd in the history of the Women's Champions League and attracted the biggest crowd ever to a women's soccer match played in the Netherlands.
Additional reporting by Reuters.