Pep Guardiola called Manchester City’s 3-1 victory over Porto a “perfect performance” after his side came from behind to open their Champions League Group C campaign with three points.

City were made to work hard after Luis Diaz capitalised on a loose pass from Ruben Dias to put Porto ahead after 14 minutes.

But a Sergio Aguero penalty drew City level before the break, and goals from Ilkay Gundogan and substitute Ferran Torres – the latter on his Champions League debut – completed the turnaround.

“We knew how tough it would be because Porto and Benfica are the best teams in Portugal,” Guardiola said. “They have the winning mentality, they have to win every game.

“I was surprised they played so defensively with five at the back, we had to be patient but in the second half we didn’t concede counter-attacks, we didn’t concede set-pieces, we didn’t allow them to run.

“We did the perfect performance against a really good team. It is nice to win games while suffering.”

Dias’ mistake for Porto’s opening goal was the first serious mis-step from the £64million summer signing, and it was not an isolated incident for City on the night.

A quick goal-kick routine gifted Mateus Uribe a chance he squandered while Joao Cancelo almost scored an own goal with the match still at 1-1.

But Guardiola denied this was further evidence of City’s long-standing defensive frailties.

“We played really well,” he said. “This is the Champions League my friends. All the teams play well. Yeah, we made one mistake but in general it was really good.”

Porto certainly made City work for it, their solid defensive shape proving almost impenetrable in the first half.

But City slowly opened them up, and Torres and Phil Foden added a spark when introduced as substitutes before combining for the third goal.

Sergio Aguero drew City level from the penalty spot
Sergio Aguero drew City level from the penalty spot (Martin Rickett/PA)

“It was incredible from Phil and Ferran,” Guardiola said. “Ferran has an incredible sense of goal. He is a guy who moves really well.

“They are young guys and we are satisfied because when you come from the bench you must be so important.”

Guardiola said Kevin De Bruyne and Aymeric Laporte are due to return to training on Thursday, perhaps putting them in contention for Saturday’s trip to West Ham, but City certainly need some good news on the injury front.

Eric Garcia replaced Nathan Ake in the starting line-up with the Dutchman suffering a groin problem, while substitute Fernandinho hobbled off late on.

“It is bad news,” Guardiola said. “I think it will be four to six weeks out which is a big blow for us with this many games, but it is what it is.”

Porto coach Sergio Conceicao hit out at the officials, saying the result was unfair on his side.

Porto had been unhappy with the award of the first-half penalty – given when Pepe charged into Raheem Sterling – claiming Gundogan fouled Agustin Marchesin in the build-up, as well as the free-kick from which Gundogan scored in the 65th minute.

It was one of several puzzling decisions from Andris Treimanis which drew the ire of the Porto coach.

“The refereeing was of high importance, and I don’t think we deserved such a weak team of officials,” Conceicao said.

“In terms of the game, clearly City had difficulties in the first half, not just in how we defended but also how we attacked.

“I think it was a game where we played well despite the refereeing. It was an unfair result in my opinion.”