Besiktas booked a place in the Turkish Cup final after beating Basaksehir 3-2 at the Vodafone Park stadium on Tuesday.
The Black Eagles took a two-goal lead inside the first 22 minutes with goals from Vincent Aboubakar and Domagoj Vida.
READ: Turkish League Wrap – Besiktas march on, Galatasaray rebound, Fenerbahce slip up
The Black-Whites looked like they were cruising to a comfortable victory however, Deniz Turuc pulled one goal back for the visitors on 60 minutes and Giuliano equalised on 77 minutes.
Basaksehir capitalised on Besiktas’ complacency after the home side took a two-goal lead and forced the game into extra time.
Cyle Larin ended up winning the game for Besiktas scoring the decisive goal on 102 minutes.
Besiktas will take on the winner of the Antalyaspor vs Alanyaspor game in the second semi-final tonight.
The Black Eagles suffered an injury scare to star striker Aboubakar who came off injured however, head coac Sergen Yalcin revealed that it was a precautionary substitute.
Besiktas face Fenerbahce next in the Super Lig. The league leaders will open up an eight-point gap with the Yellow Canaries who are third if they win the derby – and will still have a game in hand.
Besiktas – Basaksehir
Stadium: Vodafone Park
Referee: Fırat Aydınus, Aleks Taşcıoğlu, Erdem Bayık
Beşiktaş: Utku Yuvakuran, Rosier, Welinton, Vida, Rıdvan Yılmaz (min. 82 N’Sakala), De Souza, Ghezzal (min. 100 Hasic), Dorukhan Toköz (min. 82 Ljajic), Oğuzhan Özyakup (min. 62 Hutchinson), N’Koudou (min. 120+1 Necip Uysal), Aboubakar (min. 46 Larin)
Medipol Başakşehir: Mert Günok, Ömer Ali Şahiner, Ponck (min. 106 Duarte), Epureanu, Hasan Ali Kaldırım, Ndayishimiye (min. 105+1 Mehmet Topal), Tolga Ciğerci (min. 90+2 Azubuike), Visca (min. 77 Aleksic), Berkay Özcan (min. 77 Giuliano), Deniz Türüç, Demba Ba (min. 77 Crivelli)
Goals: min. 17 Aboubakar, min. 22 Vida, min. 102 Larin (Beşiktaş), min. 60 Deniz Türüç, min. 77 Giuliano (Medipol Başakşehir)
Yellow Cards: min. 44 Vida (Beşiktaş)