City looked to be running into trouble at the Parc des Princes after casually allowing Zlatan Ibrahimovic to cancel out a Kevin De Bruyne strike and falling behind to an Adrien Rabiot tap-in.
But after Ibrahimovic continued to atone for an early penalty miss by heading against the bar, Fernandinho took advantage of some poor PSG defending to net a vital second away goal.
“The quarter-final continues to be open, we must now play 90 minutes in Manchester but this is a good result for us,” said City boss Manuel Pellegrini.
“In the first-half, if we want to win, we cannot make those kind of mistakes. But we are trying to win the game from the first minute, it is the way we play.
“A very close game right to the end.”
It was a compelling encounter and City can take huge encouragement from their performance, aside from a couple of lapses which included Fernando’s error for PSG’s first goal.
It took just 13 seconds for the game’s first flashpoint as David Luiz pulled back Sergio Aguero to earn a booking that rules him out of the second leg.
It was a bright start by City and Aguero also shot over before Jesus Navas whipped in a fine cross which David Silva headed wide.
But PSG also looked dangerous and Eliaquim Mangala was soon in the thick of the action.
The Frenchman had to cut out an early pass meant for Ibrahimovic and then survived a major penalty scare as Blaise Matuidi tumbled in the area after contact between the pair.
Referee Milorad Mazic was unmoved that time but it was different after 12 minutes as Luiz controlled the ball and then fell over a tackle from Bacary Sagna.
Ibrahimovic stepped up to take the spot-kick but Joe Hart fully justified his selection after being rushed back from a calf injury by saving to his right.
Ibrahimovic was immediately gifted a chance to make amends for his miss as Nicolas Otamendi gave away possession but the Swede shot over.
After riding that storm, City snatched the lead after 38 minutes as Fernando seized on a stray pass by Luiz and released fellow Brazilian Fernandinho.
De Bruyne timed his run into the box perfectly and finished expertly after being found by a well-weighted pass.
That put City into a position of strength but it proved fleeting as they conspired to undo a lot of their good work just three minutes later.
Fernando was too casual as he received a Hart pass on the edge of his own box and Ibrahimovic, determined not to waste another chance, pounced on the Brazilian’s poor touch to equalise.
Matuidi then passed up a chance to put PSG ahead before receiving a yellow card which will also see him suspended for the return match early in the second-half.
PSG began to turn up the heat and grabbed the lead on the hour as Rabiot followed up Hart’s save from an Edinson Cavani header to score at the far post - and moments later as Ibrahimovic rattled the bar with a header.
It looked like City might have a long final half hour to hold on - but they managed to level the tie by forcing a PSG error.
Sagna found space down the right and Serge Aurier and Thiago Silva both got into a mess trying to clear his cross. Fernandinho took full advantage as he fired home, with the aid of a big deflection.
That took the sting out of the hosts and City saw out the game to give themselves the edge for the return.
Trapp, Aurier (van der Wiel 78), Thiago Silva, Luiz, Maxwell, Rabiot (Lucas Moura 78), Thiago Motta, Matuidi, Di Maria, Ibrahimovic, Cavani.
Sirigu, Stambouli, Marquinhos, Kurzawa, Augustin.
Hart, Sagna, Mangala, Otamendi, Clichy, Jesus Navas, Fernandinho, De Bruyne (Delph 77), Fernando, Silva (Bony 88), Aguero (Kolarov 90).
Caballero, Zabaleta, Demichelis, Iheanacho.
Milorad Mazic (Serbia).