City started well with Raheem Sterling going close inside the opening 10 minutes but Portu's strike after 14 minutes proved to be difference in the end, it could have been two before the break with Cristhian Stuani's effort but it remained just the one.
The second period proved to be less of a spectacle with half-chances from Portu, Bernardo Silva, David Silva and Gabriel Jesus but it was Girona who secured a historic victory.
Hosts take a surprising lead
City headed to Catalonia off the back of opening their Premier League season with a comfortable 2-0 win over Brighton & Hove Albion, the trip to Spain was used as a warm training camp ahead of Monday's clash with Everton as well as the clash with the newly promoted Girona and they certainly gave the English outfit a run for their money.
It was the Citizens who tested the waters first nine minutes into the clash, it was excellent from Sterling as he managed to wriggle his way through a couple of challenges before hitting a sweet strike from the outside the area and Gorka Iraizoz did well to tip it over crossbar.
Pep Guardiola's men were shook four minutes later as the home side managed to take the lead, it was a great flowing move from the Catalan side which ended with Portu volleying from inside the area which gave Claudio Bravo no chance.
The excitement did die down from there but it was the home side that came close to doubling their lead before the break, former Middlesbrough striker Stuani did well to get past John Stones and shoot low but Bravo did well to get down and put it behind.
Chances proving to be few and far between
The entertainment certainly didn't pick up as the second period at the Estadi Montilivi, with City having the majority of the half chances but neither side failed to add another goal to a clash that was crying out for one.
Portu will have thought that he should have had a second in the 53rd minute as he put through one-on-one with Bravo, but the Chilean continued to show his credentials to battle Ederson for the number one jersey as he came flying off the line to block the effort at his feet.
City had the ball in the net minutes later as Phil Foden was sent clear on the left, the youngster put in a dangerous cross into the mixer which was turned in by Silva but the flag for offside chalked off his debut goal for the Citizens.
The final chances didn't arrive until the final embers of the half and Guardiola will have been left scratching his head to how his side didn't at least get a draw from the clash. Silva was denied well by Iraizoz from six yards out, the ball eventually came back into City's possession through Jesus but his effort clipped the crossbar.