In a rain-soaked opening fixture of the UEFA Champions League group stage, Manchester City secured a hard-fought 1–0 victory over FC Porto, courtesy of a second-half strike from Erling Haaland. According to match reports from Sportnet, the breakthrough came quickly after the restart at the Estádio do Dragão, as the English side navigated a tense and physical European encounter.
Rain, Rivalry, and a Goalless First Half in Porto
The match kicked off under steady rain at the Estádio do Dragão, with both sides settling into an early tactical chess match. Manchester City controlled possession in the opening exchanges, yet found themselves consistently thwarted by Porto’s disciplined defensive block. FC Porto manager’s side deployed a compact shape that denied space to City’s attacking midfielders, keeping clear-cut chances at a premium during the initial forty-five minutes.
City carved out a promising opportunity in the 29th minute when Rayan Cherki slipped a clever ball through to Phil Foden. The English midfielder drove a dangerous, low cross-shot across a slick surface, but Porto goalkeeper Diogo Costa reacted sharply to parry the attempt away with his right hand. Shortly after, Foden set up Haaland inside the penalty area, though the Norwegian striker failed to beat Costa from close range.
Frustrations boiled over before the interval following an unpunished challenge involving Marc Guéhi, which triggered a mass confrontation among players on the pitch. Polish referee Szymon Marciniak worked to restore order, while the home supporters voiced their displeasure at the officiating decisions as the referee blew the whistle for halftime with the score locked at 0–0.
Erling Haaland Breaks the Deadlock After the Restart
Manchester City needed just moments of the second half to crack the home defense.

Porto nearly found an immediate response when City goalkeeper Gianluigi Donnarumma misjudged a rush off his line and brought down an opposing attacker inside the box, prompting the referee to initially point to the spot. However, a subsequent review overturned the penalty decision after it was determined that Pepê had strayed into an offside position in the buildup, sparing City and maintaining their slim advantage.
Tactical Adjustments and Closing Stages
As the second half progressed, both benches turned to their substitutes to manage the physical demands of the wet pitch. Manchester City introduced Abdukodir Khusanov in place of Joško Gvardiol, who had picked up a yellow card in the 37th minute following an earlier tactical foul.

What Comes Next in the Champions League
Worth a look