England international Jude Bellingham scored Dortmund's first and set up the second
English teenager Jude Bellingham shone for Borussia Dortmund as he opened the scoring in German side's Champions League Group C victory at Besiktas.
The 18-year-old midfielder chested Thomas Meunier's lofted ball into his path before firing through keeper Ersin Destanoglu's legs from a tight angle.
A smart run from Bellingham then teed up Erling Braut Haaland to double Dortmund's lead before the break.
Javi Montero's late header for the hosts then set up a nervy finish.
Haaland's strike was his 21st goal in 17 games in the Champions League across spells with Red Bull Salzburg and now Dortmund.
The 21-year-old, who is the youngest player to reach that total, has also achieved the feat in 10 games fewer than any other player - Ruud van Nistelrooy being the next closest in 27 games.
Haaland, who has scored 66 goals in as many games for Dortmund, earlier missed a great chance to double the visitors' lead while Bellingham almost added his second after another jinking run.
On-loan Chelsea striker Michy Batshuayi was also denied at the other end by Dortmund goalkeeper Gregor Kobel after going through for the hosts.
In Wednesday's other early kick-off, Sheriff Tiraspol got their first Champions League campaign off to a flying start as they beat Shakhtar Donetsk 2-0 at home in Group D.
Goals from Adama Traore and substitute Momo Yansane meant the Moldovan club become the first debutants to win their opening group match in the competition since Leicester City in 2016.
- Line-upsMatch StatsLive Text
Line-upsBesiktas
Formation 4-1-4-1
30Destanoglu2Rosier23Souza Silva4Montero21N'Sakala5de Souza Dias18Ghezzal15Pjanic13Hutchinson17Larin9Batshuayi
- 30Destanoglu2Rosier23Souza SilvaBooked at 42mins4MonteroBooked at 45mins21N'Sakala5de Souza Dias18GhezzalSubstituted forTöreat 89'minutes15Pjanic13HutchinsonBooked at 76minsSubstituted forUçanat 78'minutes17LarinSubstituted forKaramanat 61'minutes9Batshuayi
Substitutes
- 3Yilmaz8Uçan10Ãzyakup11Töre12Bozdogan14Topal20Uysal28Karaman34Günok
B Dortmund
Formation 4-2-3-1
1Kobel24Meunier16Akanji15Hummels13Guerreiro8Dahoud19Brandt22Bellingham11Reus21Malen9Haaland
- 1Kobel24MeunierBooked at 55mins16Akanji15HummelsSubstituted forPongracicat 70'minutes13Guerreiro8Dahoud19BrandtSubstituted forWitselat 45'minutes22BellinghamSubstituted forWolfat 69'minutes11Reus21MalenSubstituted forMoukokoat 70'minutesBooked at 79mins9HaalandSubstituted forKnauffat 86'minutes
Substitutes
- 18Moukoko20Carvalho25Unbehaun28Witsel30Passlack34Pongracic35Hitz36Knauff39Wolf
Referee:Antonio Miguel Mateu LahozAttendance:22,445Match StatsHome TeamBesiktasAway TeamB DortmundPossessionHome58%Away42%ShotsHome12Away14Shots on TargetHome3Away7CornersHome4Away5FoulsHome9Away14Live TextPost update
Match ends, Besiktas 1, Borussia Dortmund 2.
90'+8'Full Time
Second Half ends, Besiktas 1, Borussia Dortmund 2.
90'+6'Post update
Foul by Salih Uçan (Besiktas).
90'+6'Post update
Ansgar Knauff (Borussia Dortmund) wins a free kick in the defensive half.
90'+5'Post update
Corner, Borussia Dortmund. Conceded by Valentin Rosier.
90'+4'goalGoal!
Goal! Besiktas 1, Borussia Dortmund 2. Javi Montero (Besiktas) header from the centre of the box to the bottom left corner. Assisted by Miralem Pjanic with a cross following a set piece situation.
90'+3'Post update
Gökhan Töre (Besiktas) wins a free kick on the right wing.
90'+3'Post update
Foul by Mahmoud Dahoud (Borussia Dortmund).
90'+2'Post update
Ansgar Knauff (Borussia Dortmund) hits the bar with a right footed shot from the left side of the six yard box. Assisted by Marius Wolf.
90'Post update
Attempt saved. Thomas Meunier (Borussia Dortmund) right footed shot from the right side of the box is saved in the centre of the goal.
89'Substitution
Substitution, Besiktas. Gökhan Töre replaces Rachid Ghezzal.
88'Post update
Valentin Rosier (Besiktas) wins a free kick in the defensive half.
88'Post update
Foul by Ansgar Knauff (Borussia Dortmund).
88'Post update
Attempt missed. Youssoufa Moukoko (Borussia Dortmund) left footed shot from the left side of the box is close, but misses to the left. Assisted by Mahmoud Dahoud.
86'Post update
Javi Montero (Besiktas) wins a free kick in the defensive half.
86'Post update
Foul by Ansgar Knauff (Borussia Dortmund).
86'Substitution
Substitution, Borussia Dortmund. Ansgar Knauff replaces Erling Haaland.
83'Post update
Corner, Borussia Dortmund. Conceded by Javi Montero.
83'Post update
Attempt blocked. Kenan Karaman (Besiktas) right footed shot from outside the box is blocked. Assisted by Michy Batshuayi with a headed pass.
81'Post update
Attempt missed. Rachid Ghezzal (Besiktas) header from the centre of the box misses to the left. Assisted by Valentin Rosier with a cross.
Page 1 of 5rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
- "It can become an uncomfortable place": Why are so many girls dropping out of sport in their teenage years?Sebastian Vettel on allyship: Listen now as the Formula 1 star talks about the importance of visibility
Source: bbc.com