Slavia beat Pirin on penalties to reach final
Slavia will meet CSKA Sofia, who beat champions and league leaders Litex Lovech 2-1 on Wednesday, in the May 25 final.
Thursday's semi had finished 1-1 following extra time with midfielder Daniel Peev having put Slavia ahead from the spot on the stroke of halftime after Nikolay Bozhov was brought down.
Relegation-threatened Pirin, Manchester United striker Dimitar Berbatov's home town club, dominated the second half and equalised through Dimitar Nakov with 20 minutes remaining.
Slavia last made the final in 1996 when they thrashed city rivals Levski 4-0 to lift their seventh Bulgarian Cup.