Barcelona, som inledde starkt, skulle ha fått en straff redan efter 13 minuter då Wolfsburgs Kathrin-Julia Hendrich fick bollen klart på handen utan att domaren Katalin Kulcsar, Ungern, såg det. Tur för tyskorna att VAR inte används förrän i finalen.
Det var dessutom nära självmål då bollen studsade ner i gräset och strax över målet.
Fridolina Rolfö hade Wolfsburgs första kvalificerade målchans i 25:e minuten då hon fick foten under bollen och sköt högt över från bra läge.
Den första halvleken slutade med flera bra chanser.
I den 37:e minuten lyckades Barcelonas Asisat Oshoala sånär peta bollen förbi Wolfsburgs målvakt Friederike Abt. Lite senare hade Caroline Graham Hansen ett bra skott i burgaveln. I anfallet efter hade Wolfsburg en vass nick som Sandra Panos i Barcelonamålet hade problem med.
Rolfö satte ettan
I den andra halvleken fortsatte Barcelona att ha kommandot. Graham Hansen fick en ny chans fem minuter in i den andra halvleken. I ett friläge valde hon att passa istället för att skjuta själv.
Och då man väntade på ett ledningsmål för Barcelona, var det Wolfsburg, och Fridolina Rolfö, som gjorde det första målet efter 57 minuter.
Efter en tilltrasslad situation i straffområdet var hon framme och petade in ledningsmålet.
– Vi pratade om att ta det lugnt och inte stressa för Barcelona var väldigt bra, säger hon i TV10:s sändning.
I 65:e minuten hade Barcelonas Mariona Caldentey ett jätteläge men hon sköt stenhårt över bara några meter från målet. Mitt under Barcelonas spelövertag fick Wolfsburg ett par omställningar med bland annat ett skapligt skott av Pernille Harder.
I söndagens final möter Wolfsburg segraren mellan Paris SG och Lyon. Det franska mötet spelas i kväll, onsdag.
– Jag tycker PSG ser bra ut även om Lyon brukar vinna en sån här match, sa Rolfö inför semifinalen till TV10.
UEFA Women's Champions League
VfL Wolfsburg
1 - 0
FC Barcelona
Första halvlek
- Wedemeyer24'
Andra halvlek
- 53'Caldentey
- 1 - 0Rolfö58'
- 65'BonmatíOshoala
- WolterRolfö68'
- 72'Torrejón
- 77'GuijarroPutellas
- BremerPajor77'
- OberdorfPopp85'
- 86'LosadaHamraoui
- 86'MartensOuahabi