Stoke's unbeaten Europa League run came to an end after they lost at Besiktas, who finished top of Group E.
The Potters took the lead when Ricardo Fuller's strike from 25 yards took a deflection and beat Rustu Recber.
Manuel Fernandes levelled from the spot after Hugo Almeida was brought down by Matthew Upson, who was sent off.
Mustafa Pektemek handed Besiktas the lead with a diving header before fellow substitute Edu's fierce strike sealed victory for the Turkish side.
The scoreline did not accurately reflect Besiktas's dominance against a Stoke side who arrived in Turkey having left their first-choice XI at home, with a last-32 berth already secured.
DID YOU KNOW?
- Stoke's defeat is their first in Europe this season following a run of seven wins & two draws (including qualifiers)
The Turkish team, on the other hand, needed a draw to confirm their spot, and knew defeat against Stoke and victory for Dynamo Kiev, plus a five-goal swing, would see the Ukrainian side qualify instead.
Thanks to heavy investment in the summer, Stoke's 'second string' was an experienced unit, but on the night Besiktas produced markedly the stronger performance.
The visitors were lucky not to be behind before Fuller's strike, with keeper Asmir Begovic making four great saves - from German midfielder Fabian Ernst, Veli Kavlak and twice from Almeida.
But they stunned the lively home support in the Inonu stadium when Fuller took advantage of some poor defending before firing in a shot from 25 yards, which took a deflection off Egemen Korkmaz.
The Jamaican came close to adding a second shortly after the restart, but he failed to get the final touch on the ball after he had charged down keeper Rustu's clearance.
The ball spiralled up and hit the crossbar, but as it bounced down Fuller was unable to turn it home.
With Kiev leading 2-0, Besiktas could not afford to go further behind. Instead, they deservedly levelled in the second half when the spritely Fernandes scored from the spot after team captain Upson had brought down Almeida.
The former West Ham player was shown a straight red by Polish referee Marcin Borski.
Stoke, a man down, now came under even more pressure and, having both gone close with efforts inside the area, Fernandes and substitute Pektemek combined to put Besiktas in front.
This time Fernandes swung in a corner from the right and his team-mate flung himself at the ball to head in from 10 yards.
And in the last 10 minutes, Edu made sure that Besiktas finished top of their group with a sweet angled strike from the corner of the area.
- 01 Rustu
- 03 Koybasi
- 06 Sivok
- 55 Korkmaz
- 04 Fernandes
- 08 Kavlak
- 13 Hilbert Booked
- 18 Uysal (Regufe Alves - 76' )
- 28 Ernst
- 09 Almeida (Edu - 74' Booked )
- 23 Holosko (Pektemek - 46' )
- 99 Gonen
- 05 Toraman
- 27 Sidnei
- 17 Ekrem Dag
- 24 Regufe Alves
- 11 Pektemek
- 33 Edu
- 01 Begovic Booked
- 03 Higginbotham
- 20 Upson Dismissed
- 28 Wilkinson (Pennant - 28' )
- 15 Diao
- 24 Delap
- 32 Arismendi
- 40 Palacios
- 09 Jones
- 10 Fuller Booked
- 33 Jerome
- 27 Nash
- 16 Pennant
- 41 Clarkson
- 44 Dawson
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +1:56
Direct free kick taken by Jermaine Pennant.90:00 +1:56 Booking
Booking Eduardo De Oliveira booked for unsporting behaviour.90:00 +1:53
Foul by Eduardo De Oliveira on Jermaine Pennant, free kick awarded.88:15
Effort on goal by Veli Kavlak from just inside the penalty area goes over the target.86:15
Eduardo De Oliveira takes a shot. Comfortable save by Asmir Begovic.85:04
Free kick awarded for an unfair challenge on Diego Arismendi by Ismail Koybasi. Asmir Begovic takes the direct free kick.81:52 Goal scored
Goal! - Eduardo De Oliveira - Besiktas 3 - 1 Stoke A goal is scored by Eduardo De Oliveira from the edge of the area to the top right corner of the goal. Besiktas 3-1 Stoke.80:43
Ismail Koybasi concedes a free kick for a foul on Ricardo Fuller. Jermaine Pennant delivers the ball from the free kick right-footed from right wing, clearance made by Egeman Korkmaz.78:19
A cross is delivered by Ismail Koybasi, comfortable save by Asmir Begovic.75:41 Substitution
Substitution Regufe Julio Alves replaces Necip Uysal.75:15
Jermaine Pennant takes a outswinging corner from the right by-line played to the near post, clearance by Mustafa Pektemek.73:50
Assist by Manuel Fernandes.73:50 Goal scored
Goal! - Mustafa Pektemek - Besiktas 2 - 1 Stoke Goal scored by Mustafa Pektemek from inside the penalty area to the bottom right corner of the goal. Besiktas 2-1 Stoke.73:13
Corner taken right-footed by Manuel Fernandes,73:13 Substitution
Substitution Eduardo De Oliveira is brought on as a substitute for Hugo Miguel Almeida.72:41
Mustafa Pektemek produces a right-footed shot from the edge of the box and misses to the right of the target.66:30
The ball is crossed by Veli Kavlak.64:18
Inswinging corner taken from the left by-line by Manuel Fernandes.63:48
Effort from 18 yards by Manuel Fernandes. Save made by Asmir Begovic.
Corner taken by Manuel Fernandes from the left by-line.60:51
Roberto Hilbert concedes a free kick for a foul on Ricardo Fuller. Jermaine Pennant delivers the ball from the free kick right-footed from left wing.60:10
Asmir Begovic takes the direct free kick.60:10 Booking
Booking Roberto Hilbert receives a caution.60:02
Cameron Jerome fouled by Roberto Hilbert, the ref awards a free kick.59:41
The assistant referee flags for offside against Ricardo Fuller. Rustu Recber takes the indirect free kick.58:08 Goal scored
Goal! - Manuel Fernandes - Besiktas 1 - 1 Stoke Penalty taken right-footed by Manuel Fernandes and scored. Besiktas 1-1 Stoke.56:35 Dismissal
Dismissal Matthew Upson shown a red card.56:20
Hugo Miguel Almeida fouled by Matthew Upson, the ref awards a Penalty.55:50
Roberto Hilbert takes a shot. Save by Asmir Begovic.53:35
Inswinging corner taken by Jermaine Pennant, clearance by Tomas Sivok.51:51
Veli Kavlak challenges Jermaine Pennant unfairly and gives away a free kick. Direct free kick taken by Wilson Palacios.50:05
Hugo Miguel Almeida is ruled offside. Asmir Begovic restarts play with the free kick.48:54
Effort on goal by Mustafa Pektemek from outside the penalty box goes harmlessly over the bar.48:10
The ball is crossed by Roberto Hilbert.47:16
Foul by Cameron Jerome on Manuel Fernandes, free kick awarded. Manuel Fernandes restarts play with the free kick.46:48
Effort from the edge of the area by Cameron Jerome goes wide of the left-hand upright.45:10
Salif Diao challenges Hugo Miguel Almeida unfairly and gives away a free kick. Manuel Fernandes crosses the ball from the free kick right-footed from left channel, comfortable save by Asmir Begovic.45:01
The match restarts for the second half.45:01 Substitution
Substitution Mustafa Pektemek joins the action as a substitute, replacing Filip Holosko.45:00 +2:09 Half time
Half Time It is the end of the first-half.45:00 +1:15
Shot from just outside the box by Manuel Fernandes goes over the crossbar.44:51
Foul by Cameron Jerome on Roberto Hilbert, free kick awarded. Fabian Ernst restarts play with the free kick.43:35
Foul by Ricardo Fuller on Tomas Sivok, free kick awarded. Free kick taken by Tomas Sivok.43:08 Booking
Booking The referee cautions Asmir Begovic for time wasting.42:44
Header by Hugo Miguel Almeida from deep inside the penalty area misses to the left of the goal.42:03
Ismail Koybasi concedes a free kick for a foul on Kenwyne Jones. Asmir Begovic takes the free kick.39:48
Veli Kavlak has an effort at goal from just outside the box which goes wide of the left-hand post.37:30
Outswinging corner taken by Manuel Fernandes from the right by-line. The referee penalises Hugo Miguel Almeida for handball. Asmir Begovic takes the indirect free kick.37:15
Manuel Fernandes takes a shot. Save by Asmir Begovic.33:53
Outswinging corner taken right-footed by Manuel Fernandes played to the near post, Header on goal by Filip Holosko from inside the box goes harmlessly over the target.32:16
Effort on goal by Hugo Miguel Almeida from just outside the penalty area goes harmlessly over the target.30:52
Ricardo Fuller takes a shot.28:44 Goal scored
Goal! - Ricardo Fuller - Besiktas 0 - 1 Stoke Ricardo Fuller finds the net with a goal from outside the area to the top right corner of the goal. Besiktas 0-1 Stoke.26:43
Direct free kick taken by Fabian Ernst.26:43 Substitution
Substitution (Stoke) makes a substitution, with Jermaine Pennant coming on for Andy Wilkinson.26:43 Booking
Booking Booking for Ricardo Fuller.26:39
Ricardo Fuller gives away a free kick for an unfair challenge on Tomas Sivok.25:25
Ricardo Fuller gives away a free kick for an unfair challenge on Egeman Korkmaz. Egeman Korkmaz takes the free kick.24:58
Foul by Ricardo Fuller on Egeman Korkmaz, free kick awarded. Free kick taken by Egeman Korkmaz.23:04
Hugo Miguel Almeida takes a shot. Asmir Begovic makes a comfortable save.21:24
Outswinging corner taken from the right by-line by Manuel Fernandes.21:07
Shot by Hugo Miguel Almeida. Save by Asmir Begovic.18:55
Shot by Veli Kavlak from outside the box goes high over the crossbar.17:36
Filip Holosko has an effort at goal from deep inside the area missing to the right of the goal.16:06
Corner taken by Wilson Palacios from the left by-line to the near post.15:43
Cameron Jerome takes a shot. Save by Rustu Recber.14:26
The offside flag is raised against Filip Holosko. Asmir Begovic restarts play with the free kick.13:07
The ball is delivered by Roberto Hilbert, Shot on goal by Egeman Korkmaz from inside the box goes harmlessly over the target.12:39
Fabian Ernst takes a shot. Matthew Upson gets a block in.12:20
Manuel Fernandes decides to take a short corner.12:03
Veli Kavlak takes a shot. Save by Asmir Begovic.10:38
Outswinging corner taken by Manuel Fernandes from the right by-line, Salif Diao makes a clearance.10:16
Fabian Ernst takes a shot. Save by Asmir Begovic.9:24
Veli Kavlak fouled by Ricardo Fuller, the ref awards a free kick. The free kick is swung in right-footed by Manuel Fernandes, clearance by Matthew Upson.8:57
Ricardo Fuller gives away a free kick for an unfair challenge on Veli Kavlak. Direct free kick taken by Egeman Korkmaz.8:36
Filip Holosko produces a cross.7:58
Free kick awarded for a foul by Ricardo Fuller on Fabian Ernst. Free kick taken by Fabian Ernst.5:07
Effort on goal by Fabian Ernst from long range goes harmlessly over the target.4:03
Unfair challenge on Hugo Miguel Almeida by Andy Wilkinson results in a free kick. Fabian Ernst restarts play with the free kick.2:59
Effort from inside the area by Hugo Miguel Almeida misses to the right of the target.0:00
The referee gets the match started.
Live data and text provided by our data suppliers