Manchester City must overturn a one-goal deficit to reach the Europa League quarter-finals after suffering a last-16 first-leg defeat to Sporting Lisbon.
It was a frustrating night for City, who were out of sorts against a well-organised and incisive Sporting side.
Xandao scored the only goal in the second half when he back-heeled in from close range following a free-kick.
City remain favourites to advance but they will have to be better in the return leg in Manchester on 15 March.
It could have been worse for Roberto Mancini's men, but, as he has done on a number of occasions this season, goalkeeper Joe Hart came to their rescue with a couple of superb saves, most notably from Ricky van Wolfswinkel's close-range shot during a period of pressure from the buoyant hosts after the opening goal.
While City have shown enough this season to suggest they are more than capable of triumphing at the Etihad Stadium, they must be more incisive in attack if they are to do so.
Only in the final 20 minutes, following Mario Balotelli's introduction for the ineffectual Edin Dzeko, did they pack any real punch up front.
The Italian's audacious "Rabona" cross set up David Silva at the near post to fire just wide, before Balotelli hit the crossbar with a header that would have been ruled out for offside against Joleon Lescott.
Lescott had come on early in the game for captain Vincent Kompany, who, worryingly for Premier League title-chasing City, pulled up clutching his calf.
The night would only get more frustrating for Mancini's side.
Sporting were at pains to emphasize City's overwhelming superiority ahead of this tie, to the extent that midfielder Marat Izmailov claimed they were the "third best team in the world behind Barcelona and Real Madrid".
However, for all their obvious talent, City remain relative novices on the European stage and at times their inexperience was clear to see as they struggled to break down a resolute Sporting side, while also failing to stem their counter-attacks.
Kevin GallacherBBC Radio 5 live pundit
"Sporting were well organised and set themselves up well tonight. City weren't at their best and will have to improve to go through. But I expect them to finish the job at the Etihad Stadium."
The likes of Barca and Real have educated themselves through years of European exposure on how to combat such tactics, but City do not have the luxury of such lengthy learning.
Silva, their chief creative force, was crowded out as soon as he showed attacking intent, while strikers Sergio Aguero and Dzeko were given equally short shrift in the box. Gareth Barry's curling shot from the edge of the area and a close-range header from Kolo Toure - saved by Sporting keeper Rui Patricio - was the closest City came to a goal in the first half.
Sporting were efficient at one end and opportunistic at the other. Six minutes into the second half, Hart was forced to palm away Matias Fernandez's free-kick and, while the keeper did well to save Xandao's follow-up, he was taken by surprise as the defender expertly back-heeled the ball into the net.
City strived for parity but, despite Balotelli's best efforts and an Aleksandar Kolarov shot that flew past the far post, they failed to sufficiently trouble Sporting keeper Patricio.
Full Time The referee signals the end of the game.
Direct free kick taken by Correa Anderson Polga.
90:00 +3:20 Booking
Booking Aleksandar Kolarov receives a caution for unsporting behaviour.
Aleksandar Kolarov challenges Pedro Joao Pereira unfairly and gives away a free kick.
The ball is crossed by Andre Carrillo.
Free kick awarded for a foul by Pedro Joao Pereira on Mario Balotelli. The free kick is swung in left-footed by Aleksandar Kolarov, clearance made by Correa Anderson Polga. Inswinging corner taken left-footed by David Silva, clearance made by Alexandre Xandao.
James Milner takes the chance to get an effort at goal. Sergio Aguero takes a shot. Blocked by Alexandre Xandao.
Outswinging corner taken by David Silva from the left by-line, The referee blows for offside. Pedro Rui Patricio takes the indirect free kick.
David Silva produces a cross, Alexandre Xandao makes a clearance.
Stijn Schaars concedes a free kick for a foul on Samir Nasri. Samir Nasri takes the free kick.
Aleksandar Kolarov takes the direct free kick.
Booking Renato Neto goes into the book.
Free kick awarded for a foul by Renato Neto on Mario Balotelli.
Stijn Schaars fouled by James Milner, the ref awards a free kick. Direct free kick taken by Emiliano Insua.
The referee blows for offside against Mario Balotelli. Indirect free kick taken by Pedro Rui Patricio.
Mario Balotelli has an effort direct from the free kick.
Booking The referee cautions Pedro Joao Pereira for unsporting behaviour.
Free kick awarded for an unfair challenge on Mario Balotelli by Pedro Joao Pereira.
Aleksandar Kolarov produces a strike on goal direct from the free kick.
Free kick awarded for an unfair challenge on Mario Balotelli by Correa Anderson Polga.
Shot on goal comes in from Aleksandar Kolarov from the free kick.
Booking Correa Anderson Polga receives a yellow card.
Unfair challenge on Mario Balotelli by Correa Anderson Polga results in a free kick.
The ball is sent over by Gael Clichy, Correa Anderson Polga manages to make a clearance.
The referee gives a free kick against James Milner for handball. Direct free kick taken by Renato Neto.
Substitution Andre Carrillo joins the action as a substitute, replacing Trinidad Diego Capel.
Centre by Mario Balotelli, Shot from close range by David Silva misses to the right of the goal.
A cross is delivered by Aleksandar Kolarov, Samir Nasri takes a shot. Alexandre Xandao gets a block in. David Silva takes a short corner. The ball is delivered by Samir Nasri, clearance made by Alexandre Xandao.
Gael Clichy delivers the ball.
Substitution Edin Dzeko goes off and Mario Balotelli comes on.
Gael Clichy crosses the ball, save by Pedro Rui Patricio.
Substitution Matias Fernandez goes off and Renato Neto comes on.
The ball is swung over by Aleksandar Kolarov.
Trinidad Diego Capel delivers the ball, Effort from deep inside the area by Marques Bruno Pereirinha misses to the right of the goal.
Unfair challenge on Filipe Daniel Carrico by Aleksandar Kolarov results in a free kick. Pedro Joao Pereira takes the free kick.
Free kick awarded for an unfair challenge on David Silva by Marques Bruno Pereirinha. Aleksandar Kolarov takes the free kick.
Centre by Emiliano Insua, Ricky van Wolfswinkel takes a shot. Brilliant save by Joe Hart.
Emiliano Insua sends in a cross, Kolo Toure manages to make a clearance.
Free kick awarded for an unfair challenge on Edin Dzeko by Alexandre Xandao. Free kick taken by James Milner.
The ball is crossed by Samir Nasri, Sergio Aguero takes a shot. Save by Pedro Rui Patricio.
James Milner takes the direct free kick. Aleksandar Kolarov has an effort at goal from outside the penalty box missing to the wide right of the goal.
Substitution Marques Bruno Pereirinha joins the action as a substitute, replacing Marat Izmailov.
Substitution Samir Nasri replaces Gareth Barry.
Unfair challenge on Sergio Aguero by Pedro Joao Pereira results in a free kick.
Stijn Schaars takes the inswinging corner, clearance by Aleksandar Kolarov.
James Milner challenges Trinidad Diego Capel unfairly and gives away a free kick. Free kick crossed left-footed by Marat Izmailov from left wing, Aleksandar Kolarov manages to make a clearance.
Marat Izmailov delivers the ball, clearance made by Joleon Lescott.
Matias Fernandez decides to take the corner short.
A cross is delivered by Pedro Joao Pereira, Joleon Lescott manages to make a clearance.
Ricky van Wolfswinkel takes a shot. Save by Joe Hart.
Aleksandar Kolarov takes a shot. Save by Pedro Rui Patricio.
50:25 Goal scored
Goal - Alexandre Xandao - Sp Lisbon 1 - 0 Man City Alexandre Xandao gets on the score sheet with a goal from close range to the bottom right corner of the goal. Sporting 1-0 Man City.
Foul by Nigel De Jong on Matias Fernandez, free kick awarded. Direct effort from the free kick comes in from Matias Fernandez, Joe Hart makes a save.
Free kick awarded for a foul by Aleksandar Kolarov on Pedro Joao Pereira. Pedro Joao Pereira restarts play with the free kick.
Foul by Filipe Daniel Carrico on David Silva, free kick awarded. David Silva takes the free kick.
Aleksandar Kolarov delivers the ball. Effort on goal by David Silva from just inside the box goes harmlessly over the target.
Filipe Daniel Carrico takes a shot. Nigel De Jong gets a block in.
The second half begins.
Matias Fernandez crosses the ball in from the free kick, Nigel De Jong manages to make a clearance.
Sergio Aguero takes a shot. Save by Pedro Rui Patricio. Ricky van Wolfswinkel fouled by Nigel De Jong, the ref awards a free kick.
45:00 +2:35 Half time
Half Time The referee calls an end to the first half.
The free kick is swung in right-footed by Emiliano Insua, Nigel De Jong manages to make a clearance.
45:00 +1:03 Booking
Booking Nigel De Jong receives a yellow card for unsporting behaviour.
Sergio Aguero takes a shot. Pedro Rui Patricio makes a save. Ricky van Wolfswinkel fouled by Nigel De Jong, the ref awards a free kick.
Aleksandar Kolarov takes the direct free kick.
Booking Marat Izmailov booked for unsporting behaviour.
Edin Dzeko fouled by Marat Izmailov, the ref awards a free kick.
Emiliano Insua sends in a cross.
Matias Fernandez takes a shot. Blocked by Nigel De Jong.
Filipe Daniel Carrico has a shot and missed to the right of the net.
The referee blows for offside. Direct free kick taken by Pedro Joao Pereira.
Matias Fernandez has an effort at goal.
Pedro Joao Pereira produces a cross, Joe Hart makes a save. Inswinging corner taken left-footed by Stijn Schaars from the right by-line, clearance made by Gareth Barry.
Emiliano Insua takes a shot. Blocked by Joleon Lescott.
Free kick awarded for an unfair challenge on Ricky van Wolfswinkel by Joleon Lescott. Pedro Joao Pereira restarts play with the free kick.
James Milner takes a inswinging corner to the near post, clearance by Ricky van Wolfswinkel.
The ball is swung over by Aleksandar Kolarov, Alexandre Xandao makes a clearance.
Inswinging corner taken by Matias Fernandez, save by Joe Hart.
Gareth Barry produces a left-footed shot from the edge of the area and misses to the left of the goal.
Short corner taken by James Milner.
Pedro Joao Pereira concedes a free kick for a foul on David Silva. Aleksandar Kolarov restarts play with the free kick.
Pedro Joao Pereira sends in a cross, Aleksandar Kolarov manages to make a clearance.
Shot by Pedro Joao Pereira from deep inside the penalty area misses to the right of the target.
James Milner takes a short corner. James Milner crosses the ball, Kolo Toure takes a shot. Save by Pedro Rui Patricio.
Substitution Joleon Lescott joins the action as a substitute, replacing Vincent Kompany.
Aleksandar Kolarov delivers the ball, Correa Anderson Polga manages to make a clearance.
Pedro Joao Pereira takes a shot. Save made by Joe Hart.
Free kick awarded for an unfair challenge on Aleksandar Kolarov by Marat Izmailov. James Milner restarts play with the free kick.
Unfair challenge on Nigel De Jong by Matias Fernandez results in a free kick. Direct free kick taken by Kolo Toure.
Edin Dzeko is ruled offside. Pedro Rui Patricio takes the free kick.
Long distance effort from Stijn Schaars misses to the left of the goal.
Effort from long distance by Stijn Schaars goes wide right of the target.
Free kick awarded for a foul by Ricky van Wolfswinkel on Edin Dzeko. Direct free kick taken by Gael Clichy.
The ref blows the whistle to begin the match.
Live text and data provided by The Press Association
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.