Sergio Aguero gave City an early lead on Wednesday night, but Nabil Bentaleb netted two penalties in quick succession to hand Schalke a half-time lead.
The Premier League champions then had Nicolas Otamendi dismissed for a second yellow card, but Leroy Sane and Raheem Sterling scored in the closing stages to give the visitors an advantage ahead of next month's reverse fixture.
Find out how all of the action unfolded in Germany courtesy of Sports Mole's minute-by-minute updates below.
7.55pmHello and welcome to Sports Mole's live coverage of the match in the Champions league between Schalke 04 and Manchester City. The visitors are regarded as the favourites to win this competition, but the home side will relish the opportunity to cause a surprise at the VELTINS-Arena. The teams are beginning to make their way out for the first leg of this last-16 tie, so let's take a look at who features in each starting lineup...
2 minAlmost an early opening for City with De Bruyne finding Aguero in space on the edge of the penalty area with a driven pass, but Sane recovered to dispossess the forward.
3 minMan City's Leroy Sane is on the substitutes' bench. The winger left Schalke to move to the Etihad Stadium in 2016.
5 minCity have not taken long to get into their groove. Sterling has just got in behind the Schalke backline but his low cross was diverted behind for a corner. Nothing came from the set piece, but Schalke are barely seeing any of the ball.
7 minSAVE! This is sensational. City put together an extremely well-put-together set piece move which ends with Aguero seeing a header tipped over the crossbar.
9 minSchalke launch a counter-attack after a City move breaks down, but the visitors comfortably deal with the threat. The home side are sitting deep and playing on the counter during these early stages.
11 minCity are finding it far too easy to get Sterling involved down the left. The England international got in behind yet again, but his cross rebounded off himself and went behind for a goal kick.
13 minSchalke have had more of the ball over the past couple of minutes, but they have got nowhere near the City penalty area.
15 minMore of the same from the home side, but Laporte is easily able to win back the ball when Schalke attempt an attack down the right.
17 minSHOT! De Bruyne bursts into life around 40 yards from goal but after advancing towards the penalty area, the midfielder can only shoot straight at Fahrmann.
18 minGOAL!Schalke 04 0-1 Manchester City (Sergio Aguero)
18 minCity have the lead! Sane is dispossessed just outside his own area and David Silva is able to pass the ball across the box for Aguero to tap home. Schalke are annoyed because one of their players were down, but they failed to put the ball out themselves. City did nothing wrong.
21 minThere is every suggestion that this is going to be a long night for Schalke. City look levels above their hosts and it would be a surprise if more goals are not scored before the end of this contest.
23 minSchalke are attempting to rally and there is a feeling of injustice within their ranks, but City look unperturbed. This has been the perfect opening quarter for the Premier League side.
25 minSHOT! City waste an opportunity at one end, and Schalke break and get a shot away at the other. Uth tried his luck from around 25 yards out, but his left-footed curler was always going wide of Ederson's far post.
27 minBefore that chance, Sterling and David Silva made a complete hash of a two-on-one opening in and around the penalty area. They had too much time if anything.
29 minSchalke win a corner on the left-hand side, but the inswinger is easily dealt with by the visitors. The German side have improved over the past five minutes, especially going forward.
31 minCity capitalise on more indecision in the Schalke defence but after a quick free kick, Sterling scuffs his shot from the edge of the area and it is blocked.
33 minSHOT! Man City win another free kick on the edge of the area and De Bruyne takes responsibility for it. The playmaker gets the set piece on target, but it is straight at Fahrmann.
35 minSchalke think that they should be awarded a penalty due to handball from Otamendi, but VAR is taking an age to make a decision...
36 minPENALTY! And they have one! Caligiuri cuts inside onto his left foot and his shot hits the arm of Otamendi, with the ball going wide of the target. It is the correct decision - probably - but it took about three minutes to make the call.
38 minGOAL!Schalke 04 1-1 Manchester City (Nabil Bentaleb)
38 minFormer Tottenham Hotspur midfielder Bentaleb steps up and sends Ederson the wrong way. It's game on! We are going to have A LOT of added-on time.
40 minYELLOW CARD! City have to keep their head here because they had previously been in total control. There are now a few frustrated players. Otamendi was booked for the handball.
41 minYELLOW CARD! Uth is also booked for Schalke, with the forward going in late on Gundogan.
43 minPENALTY! Schalke have another penalty with Fernandinho hauling down Sane from a free kick! What are City doing?! Fernandinho is booked. He wasn't earlier, by the way.
45 minGOAL!Schalke 04 2-1 Manchester City (Nabil Bentaleb)
8.56pmThe half-time whistle goes in Germany and Schalke lead by a 2-1 scoreline thanks to two penalties from Bentaleb. Aguero had put City into a deserved lead, but the Premier League side capitulated at the end of that first half.
9.01pmAll three goals have had an element of controversy about them. Aguero's tap-in was legitimate but Schalke wanted play to be stopped for an injury to one of their players, despite not actually taking the chance to kick the ball out themselves.
The right decision was reached with each of the penalties which Schalke have won but the time taken to reach the decisions - especially the first one - led to five minutes of added-on time, and it should have been more. Do we really want that every match?
47 minSHOT! It looks like Guardiola has read the riot act at half time. City have come out all guns blazing and De Bruyne curls a low shot marginally wide of the near post from around 16 yards out.
49 minSchalke have also had their moments since the restart. I certainly cannot see the scoreline remaining the same. City have got that look about them.
51 minIt takes a last-ditch tackle from former City defender Nastasic to prevent Aguero from having a clear shot on goal. It's an outstanding challenge and an equaliser-preventing one.
53 minCity are being jeered when they are in possession, but it will be music to Guardiola's ears. The visitors are much sharper at the start of this second half.
55 minCity are standing so far up the pitch with the intent to press Schalke. It's working, too, with the home side frequently losing possession.
56 minSHOT! The same occurs once more and Gundogan is able to get a shot away from 25 yards, only for the ball to go wide of Fahrmann's right-hand post.
58 minCity put together another good move with Sterling receiving the ball out on the left, but Schalke defend the situation well with Bernardo Silva being eased out of making a connection in the area.
60 minWe move through the hour mark with Schalke ready to make a change. It's not a huge surprise with City beginning to dominate. City will surely unleash Sane before too long.
62 minThe ball has stayed in play for a number of minutes so Schalke are still waiting to make their change. No more chances at either end, however.
65 minSUBSTITUTION! The change can finally be made with Burgstaller taking the place of Mendyl.
66 minCity are continuing to boss possession, but the openings have dried up since the hour mark. It won't be long before Sane and Mahrez are given an opportunity, you would think.
67 minRED CARD! Man City are down to 10 men. Otamendi mistimes a challenge on Burgstaller on the touchline and it is an easy decision for the referee. Big blow for City.
70 minSUBSTITUTION! We are having another lengthy stoppage while Burgstaller has some treatment, and City have taken the chance to introduce Kompany for David Silva.
71 minCity have reverted to a back three, although Walker is almost going to be used as a right wing-back. City have to be careful because a 2-1 defeat would not be the end of the world.
73 minYELLOW CARD! Sane pulls down Bernardo Silva on the edge of the area and is deservedly handed a yellow card. Chance here for the visitors.
74 minSHOT! De Bruyne's effort is poor, but a deflection deceives Fahrmann and the ball rolls just wide of the post.
76 minSHOT! Better from City as Bernardo Silva drifts inside onto his left foot, but the Portuguese sends a shot over the crossbar from the edge of the area.
78 minSUBSTITUTIONS! Both sides make an alteration. Skrzybski takes the place of McKennie for Schalke while for City, Sane replaces Aguero!
80 minJust the 10 minutes to go now, and City seem caught between going in search of an equaliser and settling for a narrow defeat with an away goal.
82 minIt is Schalke's turn to get their foot on the ball, and they certainly seem happy to settle for a 2-1 win. They are showing little urgency in possession.
84 minSterling is now playing down the middle and the Englishman is able to win a free kick around 30 yards from goal. Gundogan and Sane are taking an interest.
85 minOh wow. Sane has just scored an outrageous free kick against his former club! The substitute stepped up and sent a swerving effort into the right-hand corner via the post. Fahrmann had no chance! HUGE goal for City.
87 minSUBSTITUTION! It is time for City to shut up shop. Zinchenko is being introduced for De Bruyne.
88 minSUBSTITUTION! Schalke also make a change with Harit taking the place of Uth.
89 minCity win a corner. Schalke are beginning to look vulnerable. An inswinger just evades Laporte who is standing on the edge of the six-yard box.
90 minGOAL!Schalke 04 2-3 Manchester City (Raheem Sterling)
90 minUNBELIEVABLE! A long ball from Ederson finds Sterling - who nudges Oczipka off the ball - and the winger sends a low shot under Fahrmann and into the bottom corner from eight yards. Just wow.
90+1 minThere will be five minutes of added-on time.
90+3 minSchalke are pushing forward but they do not look like they have enough left. City are comfortable.
90+5 minYELLOW CARD! Ederson is booked after pushing a Schalke player, who was trying to antagonise Zinchenko. It was risky from the Brazilian!
10.02pmThe full-time whistle goes in Germany and City have recorded a dramatic 3-2 win over Schalke! It was a topsy-turvy game which City looked like losing, but goals from Sane and Sterling have provided Guardiola's side with a clear advantage ahead of the second leg.