Porto advanced to the knockout stage of the Champions League with a 0-0 draw against already-qualified Manchester City, whose point assured the English team a first-place finish in Group C on Tuesday.

The result suited both teams, though City created much the better openings at the Estádio do Dragão. That was especially so in the second half when defender Ruben Dias squandered a chance from a meter out and Gabriel Jesus had a goal disallowed for offside against teammate Rodri.

Porto needed just a draw to join City in advancing, and is guaranteed to finish in second place. Marseille beat Olympiakos 2-1, leaving them tied for points, and results in the last round of matches will determine which of those teams places third and drops into the Europa League.

Manchester City's Phil Foden reacts after a missed chance to score during the Champions League group C soccer match between FC Porto and Manchester City at the Dragao stadium in Porto, Portugal, Tuesday, Dec. 1, 2020. (AP PhotoLuis Vieira)

Manchester City's Phil Foden reacts after a missed chance to score during the Champions League group C soccer match between FC Porto and Manchester City at the Dragao stadium in Porto, Portugal, Tuesday, Dec. 1, 2020. (AP PhotoLuis Vieira)

City rested many of its first-team regulars like Kevin De Bruyne, Kyle Walker and Aymeric Laporte, though a start for Raheem Sterling up front suggested the England international is currently not a first-choice starter under Pep Guardiola.

There was little action of note in the first half, save for a shot from Sterling from the left that was cleared off the line. At the other end, City goalkeeper Ederson Moraes was perhaps fortunate to avoid giving away a penalty for clattering into Otávio as he challenged the Porto midfielder for a bouncing ball.

The second half was much more open and City somehow failed to break the deadlock when Sterling latched onto a cross from the right and hooked the ball across the goal-line, only for Dias to kick the ball backwards as he stretched to volley home.

Manchester City's Raheem Sterling, left, falls down in a clash with Porto's Matheus Uribe during the Champions League group C soccer match between FC Porto and Manchester City at the Dragao stadium in Porto, Portugal, Tuesday, Dec. 1, 2020. (AP PhotoLuis Vieira)

Manchester City's Raheem Sterling, left, falls down in a clash with Porto's Matheus Uribe during the Champions League group C soccer match between FC Porto and Manchester City at the Dragao stadium in Porto, Portugal, Tuesday, Dec. 1, 2020. (AP PhotoLuis Vieira)

The ball fell to Ferran Torres, whose overhead kick was saved by goalkeeper Agustín Marchesín.

Jesus came on as a 71st-minute substitute and, eight minutes later, thought he had given City the lead when he tapped in from close range after his initial header was tipped onto the bar superbly by Marchesín.

However, the goal was disallowed because VAR spotted that Rodri was offside at the start of the buildup to the chance.

More AP soccer: https://apnews.com/Soccer and https://twitter.com/AP_Sports